Uva10491 Cows and Cars 【迁移自洛谷博客】
题目大意
假设有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 【迁移自洛谷博客】的更多相关文章
- UVA10779 Collectors Problem 【迁移自洛谷博客】
这是一道不错的练最大流建模的基础题. 这种题目审题是关键. Bob's friends will only exchange stickers with Bob, and they will give ...
- UVa1636 Headshot 【迁移自洛谷博客】
说明:小蒟蒻hkk现在正在做一些概率的题目,由于这方面和数学还有点关系,所以需要一些数学的思维,也需要表述出来,如夏军所述"把自己给讲懂",所以写了些blog,主要为帮助自己理解. ...
- JSOI2018冬令营游记&总结(迁移自洛谷博客)
游记 一开始在冬令营还没开始的时候,十分期待,殊不知每天都有一场浩劫在等着我. Day0 10:50出发,看见lbn同学发了一条说说,也随便发了一个. 然后在车上一直在睡觉,现在感觉挺后悔的,其实可以 ...
- UVA10491 - Cows and Cars(概率)
UVA10491 - Cows and Cars(概率) 题目链接 题目大意:给你n个门后面藏着牛.m个门后面藏着车,然后再给你k个提示.在你作出选择后告诉你有多少个门后面是有牛的,如今问你作出决定后 ...
- UVa10491 Cows and Cars
#include<iostream> #include<cstdio> #include<algorithm> int main(){ double a,b,c; ...
- 【洛谷 P4934】 礼物 (位运算+DP)
题目链接 位运算+\(DP\)=状压\(DP\)?(雾 \(a\&b>=min(a,b)\)在集合的意义上就是\(a\subseteq b\) 所以对每个数的子集向子集连一条边,然后答案 ...
- 洛谷 P3958 奶酪
谨以此题来纪念我爆炸的NOIp2017 这个题虽然很多人说是并查集,但是搜索也是毫无压力的,考场搜索细节写挂,爆了个不上不下的80分.今天无意看到这道题,终于AC 首先这道题要考虑一下精度问题,虽然出 ...
- 洛谷 P1019 单词接龙 (DFS)
题目传送门 当时一看到这题,蒟蒻的我还以为是DP,结果发现标签是搜索-- 这道题的难点在于思路和预处理,真正的搜索实现起来并不难.我们可以用一个贪心的思路,开一个dic数组记录每个单词的最小重复部分, ...
- 洛谷 P1126 机器人搬重物 (BFS)
题目链接:https://www.luogu.org/problemnew/show/P1126 吐槽:这题很阴险 一开始没把格子图转化成点图:30分 转化成点图,发现样例过不去,原来每步要判断vis ...
随机推荐
- WORD 图片能粘到百度编辑器吗
在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper. 通过知乎提供的思路找到粘贴的原理,通过TheViper找 ...
- POJ 2449 Remmarguts' Date ( 第 k 短路 && A*算法 )
题意 : 给出一个有向图.求起点 s 到终点 t 的第 k 短路.不存在则输出 -1 #include<stdio.h> #include<string.h> #include ...
- python_012
一.内置函数 1.sorted()排序函数 a:语法sorted(Iterable,key = None,reverse = False) Iterable:可迭代对象;key:排序规则(函数) ls ...
- IntelliJ IDEA 装配FindBugs以及应用
IntelliJ IDEA 安装FindBugs以及应用 众所周知,项目越来越大,开发人员越来越多,我们的代码审查工作会变得越来越复杂,对代码质量控制难度也与日俱增,尽管经验丰富的程序员能审查能检查出 ...
- 攻防世界 | string
#encoding=utf-8 #!usr/bin/python from pwn import * io = remote('111.198.29.45',42643) io.recvuntil(& ...
- 关于CSS你应该知道的基础知识 - 样式应用篇
上一篇简单总结了一下选择器,如果一个元素被多个选择器选中,元素的样式就会以级联方式被应用到.要搞清最终那个样式被应用到元素上了,首先要明白引用CSS代码的几种方式. CSS代码引用方式 如何应用CSS ...
- 牛客提高D6t2 破碎的序列
分析 我们不难发现对于偶数的情况只要相邻两个数不相等即可 而对于奇数的情况只要中间恰好隔一个数的两个数不相等即可 于是我们又dp[i][0/1]表示考虑到第i位,这一位和它后面离它最近的一个确定的数是 ...
- Java常用工具——java包装类
一.包装类和基本数据类型 装箱:基本数据类型——包装类 拆箱:包装类——基本数据类型 package com.imooc.wrap; public class WrapTestOne { public ...
- LATERAL VIEW 语法
LATERAL VIEW 使用语法 原文链接: https://www.deeplearn.me/2892.html select a.id, b.son_order_path from f_jz_c ...
- C++中使用CMake编译管理项目
CMake是一个跨平台的Makefile生成工具,可以根据特定的规则生成相应的Makefile文件,并对C/C++源代码进行编译和管理. 有一篇博客介绍CMake的使用,比较通俗易懂,链接地址是:Cm ...