链接:

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1432

题意:

有这么一个电视节目:你的面前有3个门,其中两扇门里是奶牛,另外一扇门里则藏着奖品——一辆豪华小轿车。
在你选择一扇门之后,门并不会立即打开。这时,主持人会给你个提示,
具体方法是打开其中一扇有奶牛的门(不会打开你已经选择的那个门,即使里面是牛)。
接下来你有两种可能的决策:保持先前的选择,或者换成另外一扇未开的门。
当然,你最终选择打开的那扇门后面的东西就归你了。
在这个例子里面,你能得到轿车的概率是2/3(难以置信吧!),方法是改变自己的选择。
2/3这个数是这样得到的:如果选择了两个牛之一,你肯定能换到车前面的门,因为主持人已经让你看了另外一个牛;
而如果你开始选择的就是车,就会换成剩下的牛并且输掉奖品。由于你的最初选择是任意的,因此选错的概率是2/3。
也正是这2/3的情况让你能换到那辆车(另外1/3的情况你会从车切换到牛)。
现在把问题推广一下,假设有a头牛,b辆车(门的总数为a+b),
在最终选择前主持人会替你打开c个有牛的门(1≤a≤10000,1≤b≤10000,0≤c<a),
输出“换门”的策略下,赢得车的概率。

分析:

使用全概率公式。打开c个牛门后,还剩a-c头牛,未开的门总数是a+b-c,
其中有a+b-c-1个门可以换(称为“可选门”),换到车门的概率就是“可选门中车门的个数”除以“可选门”的总数。
情况1:一开始选了牛(概率为a / (a+b)),则可选门中车门有b个。这种情况的概率为a/(a+b) * b/(a+b-c-1)。
情况2:一开始选了车(概率为b / (a+b)),则可选门中车门有b-1个,概率为b/(a+b) * (b-1)/(a+b-c-1)。
加起来得(ab+b(b-1)) / ((a+b)(a+b-c-1))。

代码:

 1 import java.io.*;
 2 import java.util.*;
 3
 4 public class Main {
 5     public static void main(String args[]) {
 6         Scanner cin = new Scanner(new BufferedInputStream(System.in));
 7
 8         while(cin.hasNext()) {
 9             int a = cin.nextInt();
10             int b = cin.nextInt();
11             int c = cin.nextInt();
12             double ans = 1.0 * (a*b + b*(b-1)) / (a+b) / (a+b-c-1);
13             System.out.printf("%.5f\n", ans);
14         }
15         cin.close();
16     }
17 }

转载于:https://www.cnblogs.com/hkxy125/p/8922717.html

UVa 10491 - Cows and Cars(全概率)相关推荐

  1. uva 10491 Cows and Cars

    https://vjudge.net/problem/UVA-10491 题意: a头牛,b辆车,每扇门后面都有一头牛或一辆车 开始选手选择一扇门 然后主持人打开c扇有牛的门(选中的除外) 然后选手换 ...

  2. php概率函数,PHP全概率运算函数(优化版) Webgame开发必备

    代码如下: $setting = array( // 黑色概率 0 => 0.99, // 白色概率 1 => 0.01, ); // Requires the GD Library he ...

  3. 序列每天从0开始_序列比对(十一)——计算符号序列的全概率

    前文介绍了在知道符号序列后用viterbi算法求解最可能路径.本文介绍了如何使用前向算法和后向算法计算符号序列的全概率. 如果一个符号序列中每个符号所对应的状态是已知的,那么这个符号序列出现的概率是容 ...

  4. 连续变量的全概率和贝叶斯公式_浅谈条件概率、全概率公式和贝叶斯公式

    一.条件概率公式 举个例子,比如让你背对着一个人,让你猜猜背后这个人是女孩的概率是多少?直接猜测,肯定是只有50%的概率,假如现在告诉你背后这个人是个长头发,那么女的概率就变为90%.所以条件概率的意 ...

  5. python如何计算概率事件_「条件概率公式」scikit-learn机器学习(五)--条件概率,全概率和贝叶斯定理及python实现 - seo实验室...

    条件概率公式 在理解贝叶斯之前需要先了解一下条件概率和全概率,这样才能更好地理解贝叶斯定理 一丶条件概率 条件概率定义:已知事件A发生的条件下,另一个事件B发生的概率成为条件概率,即为P(B|A) 如 ...

  6. 干货来袭!3天0基础Python实战项目快速学会人工智能必学数学基础全套(含源码)(第3天)概率分析篇:条件概率、全概率与贝叶斯公式

    第1天:线性代数篇:矩阵.向量.实战编程 第2天:微积分篇:极限与导数.梯度下降.积分.实战编程 第3天:概率分析篇:条件概率与全概率.贝叶斯公式.实战项目 目录 前言 一.概率与机器学习 1.1 概 ...

  7. 条件概率、全概率、先验概率、后验概率、类条件概率

    注:A表示事情的结果,B={B1,B2-}表示事情发生的原因 条件概率 在原因B发生的条件下,结果A发生的概率: 全概率 假如结果A发生的原因有B1,B2-等多种原因,则全概率公式如下: 先验概率   ...

  8. 条件概率、全概率、先验概率、后验概率

    ** 前言 **   条件概率,全概率,先验概率,后验概率这么多的定义,以前是几乎遇见一次都要百度一次,一看就会,然而没有做好总结下一次还是会忘掉,好记性终究敌不过烂笔头,这次做个总结,一劳永逸,个人 ...

  9. 概率论基础 —— 2. 条件概率、全概率、贝叶斯概率公式

    文章目录 条件概率 全概率 贝叶斯概率 条件概率 条件概率是一种比较特殊的概率体系,和我们前面提到过的基本概率(交事件)有所不同.它最大的特点在于事件发生时有一定的限制前提,通常一般是说在事件A发生后 ...

  10. 概率与统计进阶(1)——概率统计的基础概念:条件概率、全概率、贝叶斯公式

    文章目录 1. 基本(核心)概念 事件与样本点 2. 通理和思维 2.1 通理 概率的加法法则 概率的乘法法则 2.2 思维(经验/技巧) 3. 条件概率 4. 全概率 5. 贝叶斯公式 总结 从本质 ...

最新文章

  1. 还在用Matplotlib? 又一可视化神器pyecharts登场
  2. 数据结构与算法分析:C语言描述(原书第2版 简体中文版!!!) PDF+源代码+习题答案...
  3. Shell替换:Shell变量替换,命令替换,转义字符
  4. NVIDIA DGX低至7.5折限时抢购,全球首款深度学习超级计算机组合
  5. [菜鸟自学过程] ASP.NET2.0 ClientCallback脚本回调
  6. 倒计时电路multisim10s_multisim10秒倒计时器
  7. python无头浏览器截图_selenium3使用谷歌无头浏览器、截图
  8. hssfrow 单元格样式_poi导出excel单元格中画斜线_AnyReport报表
  9. 12本最具影响力的程序员书籍_书籍书评_酷勤网
  10. 感谢牛健老师为《Spring Boot实战派》开源Fadmin
  11. 西门子PLC内部的数据类型大全
  12. kile编辑器有关使用说明
  13. Freemarker使用mht制作导出word模板
  14. 设置高德地图在Fragment中显示
  15. 传感器i2c与arduino连接_如何在两个Arduino开发板之间使用I2C总线进行通信
  16. 未来中国最热门的十大职业排行榜
  17. Hive报错:Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce
  18. 《对抗攻击与防御分类方法综述》阅读笔记20220401
  19. 如何设置 HomePod?HomePod设置教程分享
  20. 低代码开发平台到底是何方圣神? 居然可以虏获世界500强等企业的芳心!

热门文章

  1. 深度学习中的batch,iteration,epoch复习总结
  2. php显示上一次登陆的时间长,cookie实现显示上次登录时间的问题
  3. gitlab主备同步_gitlab实现主备切换集群
  4. python安装nodejs_linux上nodejs安装
  5. java执行复杂linux,解决java使用Runtime.exec执行linux复杂命令不成功问题
  6. JavaWeb中的问题 ---- Servlet和Jsp
  7. elasticsearch同义词配置elasticsearch-analysis-dynamic-synonym
  8. git SourceTree 客户端 安装/使用教程
  9. RocketMQ 集群部署模式 理论介绍
  10. java ee课程目标