题目大意

假设有a头牛,b辆车(门的总数为a+b),你先选一个门,然后你最终选择前主持人会替你打开C扇有牛的门(不会打开你已经选择的门),问你要不要换门,输出“总是换门”的策略下,赢得车的概率。

分析

很明显这一题有两种情况。

(设事件A为得到了车,B为一开始选择牛门,C为一开始选择车门)

第一种,一开始选择了牛门。选择牛门这的事件的概率\(P(B)=\frac{a}{a+b}\),在选择了牛门的情况下最后得到了车的概率\(P(A|B)=\frac{b}{a+b-c-1}\),这里-c因为打开了c个牛门不能选,-1因为换了一个非当前选择的门。则有$$P(AB)=P(A|B)*P(B)=\frac{a}{a+b} \times \frac{b}{a+b-c-1}$$

第二种,一开始选择了车门。选择牛门这的事件的概率\(P(C)=\frac{b}{a+b}\),在选择了牛门的情况下最后得到了车的概率\(P(A|C)=\frac{b-1}{a+b-c-1}\),这里-c因为打开了c个牛门不能选,分母-1因为换了一个非当前选择的门,分子-1是因为自己的车门也不能选了。则有$$P(AC)=P(A|C)*P(C)=\frac{b}{a+b} \times \frac{b-1}{a+b-c-1}$$

因此总概率为$$P(A)=P(AB)+P(AC)=\frac{a}{a+b} \times \frac{b}{a+b-c-1} + \frac{b}{a+b} \times \frac{b-1}{a+b-c-1}$$

代码

#include<cstdio>
#include<algorithm>
using namespace std; int a,b,c;
double p1,p2,ans; void Init(){
int r=scanf("%d%d%d",&a,&b,&c);
if(r==EOF)exit(0);
} void Work(){
p1=(double)(a*b)/((a+b)*(a+b-c-1));
p2=(double)(b*(b-1))/((a+b)*(a+b-c-1));
ans=p1+p2;
printf("%.5lf\n",ans);
} int main(){
while(1){
Init();
Work();
}
return 0;
}

——2017-12-13 13:39:14

Uva10491 Cows and Cars 【迁移自洛谷博客】的更多相关文章

  1. UVA10779 Collectors Problem 【迁移自洛谷博客】

    这是一道不错的练最大流建模的基础题. 这种题目审题是关键. Bob's friends will only exchange stickers with Bob, and they will give ...

  2. UVa1636 Headshot 【迁移自洛谷博客】

    说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...

  3. JSOI2018冬令营游记&总结(迁移自洛谷博客)

    游记 一开始在冬令营还没开始的时候,十分期待,殊不知每天都有一场浩劫在等着我. Day0 10:50出发,看见lbn同学发了一条说说,也随便发了一个. 然后在车上一直在睡觉,现在感觉挺后悔的,其实可以 ...

  4. UVA10491 - Cows and Cars(概率)

    UVA10491 - Cows and Cars(概率) 题目链接 题目大意:给你n个门后面藏着牛.m个门后面藏着车,然后再给你k个提示.在你作出选择后告诉你有多少个门后面是有牛的,如今问你作出决定后 ...

  5. UVa10491 Cows and Cars

    #include<iostream> #include<cstdio> #include<algorithm> int main(){ double a,b,c; ...

  6. 【洛谷 P4934】 礼物 (位运算+DP)

    题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...

  7. 洛谷 P3958 奶酪

    谨以此题来纪念我爆炸的NOIp2017 这个题虽然很多人说是并查集,但是搜索也是毫无压力的,考场搜索细节写挂,爆了个不上不下的80分.今天无意看到这道题,终于AC 首先这道题要考虑一下精度问题,虽然出 ...

  8. 洛谷 P1019 单词接龙 (DFS)

    题目传送门 当时一看到这题,蒟蒻的我还以为是DP,结果发现标签是搜索-- 这道题的难点在于思路和预处理,真正的搜索实现起来并不难.我们可以用一个贪心的思路,开一个dic数组记录每个单词的最小重复部分, ...

  9. 洛谷 P1126 机器人搬重物 (BFS)

    题目链接:https://www.luogu.org/problemnew/show/P1126 吐槽:这题很阴险 一开始没把格子图转化成点图:30分 转化成点图,发现样例过不去,原来每步要判断vis ...

随机推荐

  1. [CSP-S模拟测试]:Divisors(数学)

    题目描述 给定$m$个不同的正整数$a_1,a_2,...,a_m$,请对$0$到$m$每一个$k$计算,在区间$[1,n]$里有多少正整数是$a$中恰好$k$个数的约数. 输入格式 第一行包含两个正 ...

  2. Flask学习 3 url_for的使用

    #!/usr/bin/env python # encoding: utf-8 """ @version: v1.0 @author: cxa @file: flask0 ...

  3. MainActivity.java 文件

    主函数 package myapplication21.lum.com.mycanvas; import android.support.v7.app.AppCompatActivity;import ...

  4. 我的Podfile如下

    # Uncomment this line to define a global platform for your projectuse_frameworks!(http://www.my516.c ...

  5. (转)用Flink取代Spark Streaming!知乎实时数仓架构演进

    转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...

  6. CodeForces - 587E[线段树+线性基+差分] ->(线段树维护区间合并线性基)

    题意:给你一个数组,有两种操作,一种区间xor一个值,一个是查询区间xor的结果的种类数 做法一:对于一个给定的区间,我们可以通过求解线性基的方式求出结果的种类数,而现在只不过将其放在线树上维护区间线 ...

  7. content is not supported outside 'script" or asp content' region

    https://stackoverflow.com/questions/48915080/asp-net-content-is-not-supported-outside-the-script-or- ...

  8. machine learning 之 Recommender Systems

    整理自Andrew Ng的machine learning 课程 week 9. 目录: Problem Formulation(问题的形式) Content Based Recommendation ...

  9. day46----JavaScript的函数及对象小结

    一:函数 01:普通函数 function f1(){ console.log("Helleo world") } f1(); //调用函数 -->Helleo world ...

  10. Jenkins使用三:管理slave节点(配置SSH公钥和私钥)

    添加slave 给节点起个名字 1.远程工作目录:/test/workspace--这个地址是测试机的 jenkins 的 workspace 工作目录,自己随便写个本机的路径2.用法--尽可能的使用 ...