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. ***PHP Notice: Undefined index: ..问题的解决方法

    首先,这个不是错误,是warning.所以如果服务器不能改,每个变量使用前应当先定义. 方法1:服务器配置修改     修改php.ini配置文件,error_reporting = E_ALL &a ...

  2. 无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

  3. 在ubuntu上搭建开发环境9---Ubuntu删除ibus出现的问题及解决

    删除 ibus输入法: sudo apt-get install ibus 我们会遇到下面的问题 Ubuntu 14.04 系统设置很多选项消失. 其实遇到这个问题的一个最主要的原因是之前执行过卸载i ...

  4. Asyncio中的Task管理

    #!/usr/bin/env python # -*- coding: utf-8 -*- import asyncio import datetime import time from random ...

  5. 攻城狮在路上(叁)Linux(十四)--- 查阅文件内容

    常用命令:cat.tac.nl.more.less.head.tail.od... 一.直接查看文件内容:cat.tac.nl <==一次性全部读取 1.cat [-AbEnTv] 文件名 参数 ...

  6. gdb optimized out错误解决

    转自:http://blog.csdn.net/cws1214/article/details/12023093 when linux gdb debug, print a variable, suc ...

  7. Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 (转)

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库.可以将一个 JSON 字符串转成一个 Java 对象,或者反过来. jar和源码下载地址: h ...

  8. WebStorm中将Project分享到GitHub时报“Error Running Git”错误的解决办法

    错误信息 Cannot run program "git.exe":CreateProcess error=2,系统找不到指定的文件. 解决办法 从错误信息就可以知道,WebSto ...

  9. Released Mocked Streams for Apache Kafka

    Kafka Streams is a de­ploy­ment-ag­nos­tic stream pro­cess­ing li­brary writ­ten in Java. Even thoug ...

  10. 利用scp传输文件小结

    从本地复制到远程 scp mysql-5.5.29-linux2.6-x86_64.tar.gz 192.168.1.11:/opt 指定端口: scp -P 60022 /opt/ray/nginx ...