【BZOJ】3093: [Fdu校赛2012] A Famous Game
http://www.lydsy.com/JudgeOnline/problem.php?id=3093
题意:n个球(红和蓝两种),等概率有1~n个红球。首先取出p个球且这p个球里边有q个红球,问从剩下的球里边取一个红球的概率(n<=100000)
#include <cstdio>
using namespace std;
int main() {
int T=0, p, n, q;
while(~scanf("%d%d%d", &n, &p, &q)) printf("Case %d: %.4f\n", ++T, (q+1.0)/(p+2.0));
return 0;
}
推完后公式能力大幅增长= =
感谢vfk的指导让我知道了一些关于高中课本的知识= =(haha我比小学森还差
感谢算法导论上概率论的知识
感谢××年××的关于概率论的一些论文....
感谢quartergeek的题解
感谢gyz的题解
然后好不容易推出了公式....最终化简极其漂亮...数学好美丽...
如果看不懂下边的公式,欢迎来问我!!!qq在右边!!
设$A$为下一个拿红球的事件,$B$为拿走了$p$个球其中有$q$个球是红球的事件,$C_k$为原袋子中有$k$个红球的事件
$$
\begin{align}
P(A|B)
& = \frac{ P(AB) }{ P(B) } \\
& = \frac{ \sum_{k=0}^{n} P(AB|C_k)P(C_k) }{ \sum_{k=0}^{n} P(B|C_k)P(C_k) }
\end{align}
$$
因为
$$
P(AB|C_k)
=
\frac{P(BC_k)}{P(C_k)}
\frac{P(ABC_k)}{P(BC_k)}
=
P(B|C_k)P(A|BC_k)
$$
所以
$$
\begin{align}
P(A|B)
& = \frac{ \sum_{k=0}^{n} P(AB|C_k)P(C_k) }{ \sum_{k=0}^{n} P(B|C_k)P(C_k) } \\
& = \frac{ \sum_{k=0}^{n} P(B|C_k)P(A|BC_k)P(C_k) }{ \sum_{k=0}^{n} P(B|C_k)P(C_k) } \\
\end{align}
$$
显然
$$
\begin{align}
P(A|BC_k) & = \frac{k-q}{n-p} \\
P(C_k) & = \frac{1}{n+1} \\
P(B|C_k) & = \frac{ \binom{k}{q} \binom{n-k}{p-q} }{ \binom{n}{p} }
\end{align}
$$
所以
$$
\begin{align}
P(A|B)
& = \frac{ \sum_{k=0}^{n} P(B|C_k)P(A|BC_k)P(C_k) }{ \sum_{k=0}^{n} P(B|C_k)P(C_k) } \\
& = \frac{ \sum_{k=0}^{n} \binom{k}{q} \binom{n-k}{p-q} (k-q) }{ \sum_{k=0}^{n} \binom{k}{q} \binom{n-k}{p-q} (n-p) } \\
& = \frac{ \sum_{k=0}^{n} \binom{k}{q+1} \binom{n-k}{p-q} (q+1) }{ \sum_{k=0}^{n} \binom{k}{q} \binom{n-k}{p-q} (n-p) } \\
& = \frac{q+1}{n-p} \frac{ \sum_{k=0}^{n} \binom{k}{q+1} \binom{n-k}{(p+1)-(q+1)} }{ \sum_{k=0}^{n} \binom{k}{q} \binom{n-k}{p-q} } \\
& = \frac{q+1}{n-p} \frac{ \binom{n+1}{p+2} }{ \binom{n+1}{p+1} } \\
& = \frac{q+1}{p+2}
\end{align}
$$
哦,关于$\binom{n+1}{p+1} = \sum_{k=0}^{n} \binom{k}{q} \binom{n-k}{p-q}$窝来解释一下...
考虑$p+1$个球放在$n+1$个格子中,那么等价于枚举第$q+1$个球放的格子$k+1$,则前面有$k$个格子,后面则有$n-k$个格子。那么前面有$q$个球方案数为$\binom{k}{q}$,后面有$p-q$个球的方案数为$\binom{n-k}{p-q}$。乘起来即可。
【BZOJ】3093: [Fdu校赛2012] A Famous Game的更多相关文章
- BZOJ 3093: [Fdu校赛2012] A Famous Game
3093: [Fdu校赛2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 242 Solved: 129[Subm ...
- Bzoj3093 [Fdu校赛2012] A Famous Game
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 251 Solved: 136 Description Mr. B and Mr. M like to ...
- 【BZOJ】【3093】【FDU校赛2012】A Famous Game
概率论 神题不会捉啊……挖个坑先 orz 贾教 & QuarterGeek /********************************************************* ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- SCNU省选校赛第二场B题题解
今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...
- 2014上半年acm总结(1)(入门+校赛)
大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干= = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...
- 2017CUIT校赛-线上赛
2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...
- HZNU第十二届校赛赛后补题
愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...
- 校赛F
问题描述 例如对于数列[1 2 3 4 5 6],排序后变为[6 1 5 2 4 3].换句话说,对于一个有序递增的序列a1, a2, a3, ……, an,排序后为an, a1, an-1, a2, ...
随机推荐
- Linux下pipe使用注意事项
转自:http://blog.yufeng.info/archives/1485 Linux下的pipe使用非常广泛, shell本身就大量用pipe来粘合生产者和消费者的. 我们的服务器程序通常会用 ...
- 取得表中数据的insert语句
Build Insert Statements for the Existing Data in Tables 下面这个脚本实现了取得一个非空表中的所有insert语句 This script bui ...
- foreach与Iterable学习
以前对于foreach的使用都是自然而然的感觉,没有深究过为什么可以用,什么时候可以用.最近才发现,原来那些可以使用的类,都是实现了Iterable接口的,否则根本就不能用. 下面是我之前学习时候写的 ...
- Ubuntu14.04LTS系统QQ的安装:pidgin-lwqq
本人是轻度聊天工具使用者(大言不惭是轻度,偷笑),发现输入法到博主也有解决linux下QQ的解决方法,一并抄过来,有需要,请联系原作者 参考链接:http://www.cnblogs.com/zhj5 ...
- poj 3895(求无向图的最大简单环)
题目链接:http://poj.org/problem?id=3895 思想很简单,就是dfs,并且用一个数组记录到该节点所走过的长度,然后如果遇到已经走过的,就说明存在环了, 更新一下ans. /* ...
- jfreeChart柱状图各属性详细设置
一. 下载与环境配置 此最新版本为 1.0.13 解压jfreechart-1.0.13.zip 将lib目录下的jfreechart-1.0.13.jar .jcommon-1.0.16.jar 复 ...
- Strust2 初体验
Struts2的第一个案例 首先我们需要引入架包 entity: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package ...
- SQLserver删除某数据库中所有表 方法 二
方便删除数据库中所有的数据表,清空数据库,有些有约束,不能直接delete,需要先删除库中的约束,代码如下: --删除所有约束DECLARE c1 cursor for select 'alter t ...
- Action处理请求参数
第一种 :Action 本身作为model对象,通过成员setter封装 (属性驱动 ) 第一种方式:<br> <form action="${pageContext.re ...
- HTTP基础11--web(3)
邮件首部注入攻击 指 Web 应用中的邮件发送功能,攻击者通过向邮件首部 To 或 Subject 内任意添加非法内容发起的攻击.利用存在安全漏洞的 Web 网站,可对任意邮件地址发送广告邮件或病毒邮 ...