【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}$窝来解释一下...

我们考虑枚举第$q+1$个红球插入到$n$个元素的$n+1$个缝隙中,位置在$i$的后边,显然前边有$q$个红球,后边有$p-q$个红球,方案数为$\binom{i}{q} \binom{n-i}{p-q}$,累加每一个位置的即可

时间: 2024-08-05 19:35:49

【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[Submit][Status][Discuss] Description Mr. B and Mr. M like to play with balls. They have many balls colored in blue and red. Firstly, Mr. B randomly picks

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 play with balls. They have many balls colored in blue and red. Firstly, Mr. B randomly picks up N balls out of them and put them into a bag. Mr. M kno

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

概率论 神题不会捉啊……挖个坑先 orz 贾教 & QuarterGeek 1 /************************************************************** 2 Problem: 3093 3 User: Tunix 4 Language: C++ 5 Result: Accepted 6 Time:0 ms 7 Memory:804 kb 8 ***************************************************

CSU 1425 NUDT校赛 I题 Prime Summation

这个题本来有希望在比赛里面出了的 当时也想着用递推 因为后面的数明显是由前面的推过来的 但是在计算的时候 因为判重的问题 ...很无语.我打算用一个tot[i]来存i的总种树,tot[i]+=tot[j]//j为可以由j推到i的一系列数,但这样是不对的,会产生大量重复计算... 看了下标程才发现要用二维来计算出种类总数,f[i][j]+=sum(f[i-j][k]) 表示在推i数的时候,第一个素数为j的种类数,注意j一定为素数,而且k不能大于j...标程里面处理的比较简练,就学了下他的写法. 至

校赛总结

写写校赛总结....... 这两次校赛是我们组队以后第一次的比赛...第一场打得很拙,第二场还可以吧,第一场校赛--毕竟是期待了很久的校赛,所以感觉还是很紧张,吃饭的时候打了二两,剩了一大半==, 这次我们队名叫 I_Love_High_Math......没走到现场,就快下雨了,真的有点郁闷==.到了以后下雨了,和一个队友被困雨中,,出来以后衣服湿了,一开始就悲剧了...     然后一开场就感觉不好.比赛开始的时候,我去写头文件,然后W说A是水题,然后叫我写,平时都是我写第一题的这次我不想开

NYOJ-682 小媛在努力 (郑大第六届校赛 模拟)

链接:click here 题意: 描述 在多媒体数据处理中,数据压缩算法尤为重要.小媛上完课后就想自己发明一个数据压缩算法.她想呀想,终于想到一个方法.在多媒体数据中有很多数据都是重复的,所以她想把连续相同的数据用数据出现的次数和数据本身表示.例如:1 1 1 2 3 3 3 3 3  压缩后及为3 1 1 2 5 3(表示3个1,1个2和5个3).有想法后小媛就希望把它用代码实现了.但是大家都知道小媛现在整天都忙着苦B的复习考研,连电脑都摸不到.所以她希望作为ACMer的你帮她写一下. 输入

HDU多校赛第9场 HDU 4965Fast Matrix Calculation【矩阵运算+数学小知识】

难度上,,,确实,,,不算难 问题是有个矩阵运算的优化 题目是说给个N*K的矩阵A给个K*N的矩阵B(1<=N<=1000 && 1=<K<=6),先把他们乘起来乘为C矩阵,然后算C^(N*N) 相当于 ABABABABABABAB...=(AB)^(N*N) 不如 A(BA)^(N*N-1)B 因为BA乘得K*K的矩阵,K是比较小的 #include <cstdio> #include <cstdlib> #include <cstr

ZJU校赛 一道计数题

题意是这样的 给定一个n*m的整数矩阵 n和m均小于1000 对这个矩阵删去任意行和列后剩余一个矩阵为M{x1,x2,,,,xm;y1,y2,,,,,yn}表示删除任意的M行N列 对于这个剩下的矩阵,我们考虑其中是否存在特殊的元素,保证这些元素是所在行最大,所在列最小的元素 且非之一. 求对于所有删法,上述元素个数之和 对10^9+7取余. 显然所有删法 有2^(n+m)种 暴力是搞不定的. 于是反过来看,矩阵的元素最多有10^6个 是不是可以考虑每一个元素对最终答案的贡献? 所谓贡献,就是它在

山科第三届校赛总结

这次山科的校赛算是省赛前的一次正式的检验吧,暴露了我们队伍之前训练很多没发现的问题. 比赛的过程真的算是有惊无险,差点就GG... 我们入场晚了一会,我刚读完C题,就发现已经有人过了F题了,我去看F题,是个统计闰年的水题,很快就敲过了.回去想接着看C,感觉也很水,这时cerberux说这个用个map就A了,我让他来敲,可是他好像用的不是很熟练,这道题敲的很慢,交上去还wa了...我回过头仔细看这题,觉得扫一遍统计一次最多连续出现的次数就可以了,这才把这个水题过了.然后我去敲G,G题我出现了很严重