HDU 4254 A Famous Game(概率与期望)

题目描述

传送门

题目大意:一个口袋里有 n 个红色或蓝色的球。 n + 1 种颜色分布情况(i 个红球 n − i 个蓝球)的概率是相等的。
B 从口袋中不放回地摸出了 p 个球,其中有 q 个是红色的。求 B再摸一个球时,摸出的球是红色的概率。

题解

Nk 表示n个球中有k个红球的概率。
A 表示p个球中有q个红球
B表示下次摸出的是红球
那么 P(Nk)=1n+1
P(A)=C(k,q)C(nk,pq)C(n,p)
P(B|ANk)=kqnp
P(B|A)=P(AB)P(A)
P(B|A)=kP(AB|Nk)P(Nk)kP(A|Nk)P(Nk)
P(B|A)=kP(B|ANk)P(A|Nk)P(Nk)kP(A|Nk)P(Nk)
P(B|A)=kkqnpC(k,q)C(nk,pq)C(n,p)kC(k,q)C(nk,pq)C(n,p)
P(B|A)=kkqnpk!(kq)!q!(nk)!(pq)!(nkp+q)!kC(k,q)C(nk,pq)C(n,p)
是分子中 kq (kq)! 约分,再除以一个 (q+1) ,那么式子可以化简成
P(B|A)=q+1npkC(k,q+1)C(nk,pq)kC(k,q)C(nk,pq)
考虑 kC(k,q)C(nk,pq) 如何化简,就相当于是n+1个盒子,p+1个小球,枚举的k就相当于是第q+1个小球放入的位置,所以化简后就是 C(n+1,p+1)
=q+1npC(n+1,p+2)C(n+1,p+1)=q+1p+2
PS: 贝叶斯公式 P(B|A)=P(AB)P(A)=P(A|B)P(A)P(B)
P(AB|C)=P(A|BC)P(B|C)
怎么证明? P(A|BC)=P(ABC)P(BC),P(B|C)=P(BC)P(C),P(AB|C)=P(ABC)P(C) 所以得证。

代码

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
int n,p,q;
int main()
{
    int T=0;
    while (scanf("%d%d%d",&n,&p,&q)!=EOF) 
     printf("Case %d: %.4lf\n",++T,(double)(q+1.0)/(double)(p+2.0));
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值