标签:概率dp
题意:有n个有聊人和m个无聊人,每次等概率任选两个人,让他们都变成无聊人,求所有人都变成无聊人的期望次数。(
解法:设f(i)表示存在 i 个有聊人,将所有人都变成无聊人的期望次数。显然f(0) = 0,即不需要改变。方程:
答案即为f(m)
代码
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
class TheBoredomDivOne{
public:
double f[100];
double c(double x){
return x * (x - 1) / 2;
}
double find(int n, int m){
memset(f, 0, sizeof(f));
f[0] = 0;
for(int i = 1; i <= m; i++)
{
f[i] = (f[i-2] * c(i) + f[i-1] * i * (n + m - i) + c(n + m)) / (c(n + m) - c(n + m - i));
}
return f[m];
}
};
版权声明:本文为博主原创文章,未经博主允许不得转载。
Topcoder SRM 488 Div1 250(概率dp)
标签:概率dp
原文地址:http://blog.csdn.net/uestc_peterpan/article/details/47736781