UVa 11181 条件概率
题意:n个人选r个人,每个人被选中的概率为pi,问最后每个人被选中的概率是多少。
sol:就是个简单的概率题,范围还特别小,深搜秒出...然而公式什么的很多还是需要注意的...
条件概率的公式:P(A|B)*P(B)=P(AB) ——>这题就成了求裸的P(ai|pr),即在pr发生的情况下ai发生的概率。因为P(AB)和P(B)通过搜索可以很方便地求出来,那么P(a|b)也就迎刃而解了。
所以在枚举的时候即使一个点没有被选中,那么它没有被选中的概率仍然应该乘上去,最后求的是所有概率,即累加和去除所有情况概率和:(统计时的处理
if(count == r){ double tem = 1; for(int i = 1;i <= n;i++){ if(vis[i]) tem *= p[i]; else tem *= (1-p[i]); } ans[0] += tem; for(int i = 1;i <= n;i++) if(vis[i]) ans[i] += tem; }
Sometimes it s the very people who no one imagines anything of. who do the things that no one can imagine.