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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 【BZOJ】【3093】【FDU校赛2012】A Famous Game

    概率论 神题不会捉啊……挖个坑先 orz 贾教 & QuarterGeek /********************************************************* ...

  4. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  5. SCNU省选校赛第二场B题题解

    今晚的校赛又告一段落啦,终于"开斋"了! AC了两题,还算是满意的,英语还是硬伤. 来看题目吧! B. Array time limit per test 2 seconds me ...

  6. 2014上半年acm总结(1)(入门+校赛)

    大一下学期才开始了acm,不得不说有一点迟,但是acm确实使我的生活充实了很多,,不至于像以前一样经常没事干=  = 上学期的颓废使我的c语言学的渣的一笔..靠考前突击才基本掌握了语法 寒假突然醒悟, ...

  7. 2017CUIT校赛-线上赛

    2017Pwnhub杯-CUIT校赛 这是CUIT第十三届校赛啦,也是我参加的第一次校赛. 在被虐到崩溃的过程中也学到了一些东西. 这次比赛是从5.27早上十点打到5.28晚上十点,共36小时,中间睡 ...

  8. HZNU第十二届校赛赛后补题

    愉快的校赛翻皮水! 题解 A 温暖的签到,注意用gets #include <map> #include <set> #include <ctime> #inclu ...

  9. 校赛F

    问题描述 例如对于数列[1 2 3 4 5 6],排序后变为[6 1 5 2 4 3].换句话说,对于一个有序递增的序列a1, a2, a3, ……, an,排序后为an, a1, an-1, a2, ...

随机推荐

  1. JavaWeb学习之什么是Servlet、如何使用servlet、为什么这样使用、servlet的虚拟路径、关于缺省Servlet(2)

    1.什么是Servlet? * 服务器端Java程序,servlet需要交给服务器来运行. * 与javax.servlet.Servlet接口有关的java程序 2.如何使用servlet?[必须] ...

  2. 在ubuntu上搭建开发环境6---安装和使用vim及其插件(Pathogen和NERDTree)

    2015.09.08 更为详细的配置vim的方法,请参见我的新整理的文章:http://segmentfault.com/a/1190000003722928 Vim安装 命令: sudo apt-g ...

  3. 【131031】html:hidden的使用

    一般来说,我们在使用Struts时,如果要在JSP隐式的传值给Action有两种情况: 1.要传的值是FromBean中的一个字段,你说的情况应该就是这种情况,例如需要在Edit页面中保存theID, ...

  4. Spring+Hibernate+Oracle中的Clob操作配置

    bean对象配置: <!-- 此处用于指定当前JDBC的实现,详见下面注解① --> <bean id="nativeJdbcExtractor" class=& ...

  5. 【译】安装Sonar要求

    本文仅为本人看sonar官方文档时,因其为英文,故简单整理翻译[英语不好,见谅!] http://docs.sonarqube.org/display/SONAR/Requirements   目录 ...

  6. Vue#Class 与 Style 绑定

    绑定HTMLCLASS 在我没看这之前,我觉得要写绑定class ,应该像绑定数据一样这么写 class ={{class-a}} 看官方教程时,不推荐这么写,推荐这样 v-bind:class=&q ...

  7. C++的模板特化 和 STL中iterator_traits模板的偏特化

    C++中有类模板和函数模板,它们的定义如下所示: 类模板: template<class T1,class T2> class C { //... }; 函数模板: template< ...

  8. 【J2EE入门】13个规范

    看过了j2ee教学视频,真的让我痛彻心扉,那叫痛并快乐着,痛是因为看了这么长时间,自己只知道了13个规范的概念:同样,快乐也正是因为我知道了13个规范的概念,接下来就是逐项实践的学习. 看了教学视频, ...

  9. 【SQL Sever】实现SQL Sever的发布。订阅。 双机热备

    实现SQL Sever的发布和订阅  最大的好处就是: 可以实现读写分离,增删改操作在主数据库服务器上进行,查询在备份数据库服务器上进行.一方面提高软件执行效率,另一方面也减轻主库压力. 本次实现发布 ...

  10. hdu1159 最长公共子序列

    Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with ...