有 n−1 个人和 1 个吸血鬼,每天都会有两个人相遇,如果一个是人一个是吸血鬼,那么人有 p 的概率变成吸血鬼, 问你所有人都变成吸血鬼的期望天数。
思路:
令 dp[i] 表示 i 个吸血鬼,n−i 个人类时的期望值。
首先 dp[n] 是 0.0;
-
有人变成了吸血鬼:P1=((Ci1×Cn−i1)÷Cn2)×p
-
没有人变成吸血鬼:P2=1−P1
所以 dp[i]=P1×dp[i+1]+P2×dp[i]+1
dp[i]=P1×dp[i+1]+(1−P1)×dp[i]+1
dp[i]=P1×dp[i+1]+dp[i]−dp[i]×P1+1
0=P1×dp[i+1]−dp[i]×P1+1
0=P1×(dp[i+1]−dp[i]+P11)
两边同时除以 P1,得:
0=dp[i+1]−dp[i]+P11
即 dp[i]=dp[i+1]+P11
然后就不会算 P11 了 (1≤n≤100000) 。
上网搜了搜题解,发现给了一个式子:
P[i]=i×(n−i)÷(n×(n−1)÷2)
可是不知道怎么推。。
求大佬解答orz