一道概率题-51nod11B

来源:互联网 发布:php网站打开一片空白 编辑:程序博客网 时间:2024/06/05 14:16

原题来自51nod算法马拉松11:我是链接

B君很喜欢去竞技场(Arena)

我们将竞技场规则简化如下:

1.每个人进入竞技场后,会等概率随机匹配一个人,匹配到的人与当前胜利和失败场数无关。

2. 胜利达到x场,或失败达到y场后,退出竞技场,根据退出时的胜利场数获得奖励,不能中途放弃。

3. 水平高的选手,总能战胜水平低的选手,不存在水平相等的人。

4. 竞技场有无穷多的人。

B君并不知道自己的水平,你可以认为B君的水平是在所有人中的等概率随机。

B君想知道自己退出时期望胜利场数是多少。

(0 < x, y <= 20)

其中一种解答:

假如算出所有情况发生的概率,那么答案只要用期望的定义,即胜利的场数乘以相应的概率再求和就可以算出来;考虑总共进行了a+b场比赛,其中a场比赛胜利的概率,为了简化问题,先不考虑退出竞技场的条件,设这个概率为P(a,b)

根据定义,我们可以写出
P(a,b)=limn1na+b+1i=0nia(ni)b

将内层的求和用二项式定理展开得到
P(a,b)=limn1na+b+1i=0nj=0bCjn(1)jia+jnbj

注意观察这个右侧这个和式,他是一个关于ia+b次多项式,对i0n的求和必然是一个关于na+b+1次多项式,而外面n的最高次恰好也是a+b+1,根据求极限的法则,有限个无穷小的项可以舍去,因此只需要关注多重和式中最后na+b+1a+b+1前的系数Q(a,b)Q(a,b)即为答案 {Q(a,b)= \sum_{i=0}^{b}{\frac{(-1)^j}{j+a+1}C_{b}^{j}} \qquad }
Q(a,b)=i=0b(1)jj+a+1Cjb
这仍然是一个和式,利用高阶差分的二项式定理展开 {\Delta^n=(E-1)^n= \sum_{k}{(-1)^{n-k}E^kC^k_n} \qquad (1)}
Δn=(E1)n=k(1)nkEkCkn1
f(x)=(x1)1=1x,一方面,对f(x)逐次求差分可得Δnf(x)=(1)nCnx+nx,结合(1),可得
k(1)nk1x+kCkn=(1)nCnx+nx2
将这个式子代入n=b,x=a+1,可以立即得到结果
Q(a,b)=i=0b(1)jj+a+1Cjb=1Caa+b(a+b+1)3
(3)式不仅说明了在没有退赛限制的条件下赢了a场输了b场这一事件发生的概率,也表明假如总共进行了n场比赛,那么赢了0,1,2...n场比赛发生的概率是相同的。

最后,由于概率已知,我们只需要利用动态规划求出赢i场出局的方案数,再乘以概率和赢得场数,累加起来就是答案。至此,本题得到了解决

0 0
原创粉丝点击