PE 323 Bitwise-OR operations on random integers (概率dp)

来源:互联网 发布:qq mac版是什么 编辑:程序博客网 时间:2024/06/18 02:47

题目链接:
PE 323

题意:
给你一系列32bits的无符号数。
x初始为0,然后和这一系列数进行或操作,操作了N次,直到x2321,其实就是x32bits都是1
N的数学期望。

题解:概率dp。
假设dp[i]表示有ibits时的数学期望。
那么怎么去找这些递推关系,或者说转移方程呢?
详细说明一下。
对于i=1时,显然,我们有12的几率可以通过一个操作得到1个bits。那么还有12的几率我们还要基于前面的已经是1个bits时的,即12(1+dp[1])。所以dp[1]=12+12(1+dp[1])=1+dp[1]2,所以dp[1]=2

同理,对于i=2,我们可以得到,dp[2]=14+24(1+dp[1])+14(1+dp[2])=14+324+14+dp[2]4,所以,dp[2]=83=2.666666667...

对于有Nbits的,如果第一次就把其中Kbits1的概率就为:C(N,K)2N.
所以:
dp[N]=12N+C(N,1)2N(1+dp[1])+C(N,2)2N(1+dp[2])+...+C(N,N1)2N(1+dp[n1])+12N(1+dp[n])

然后可以写代码解决了。

1 0
原创粉丝点击