UVa 11181 条件概率

时间:2024-01-14 15:33:02

题意: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;
}