题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5159
解题思路:这道题我一开始以为是dp,结果会出现一个问题,就是出现重复数字的情况无法记录有多少个,只能放弃了。
参考了别人的思路,感觉自己想的太复杂了
要求出和的期望,期望的基本定理, 和的期望 = 各部分期望的和。
E(sum) = E(1) + E(2) + ... + E(x) ;
每个数在b次中只有选到和没选到两种情况,在b次中被选到的概率p =1 - (1 - 1/x)^b ;
所以每个数的期望也是 i*( 1-(1-1/x)^b )
得到sum的期望。
#include <iostream>
#include <math.h>
#include <stdio.h>
using namespace std;
int main()
{
int t,cas=1;
double x,b;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf",&x,&b);
printf("Case #%d: %.3lf\n",cas++,(1-pow(1-1.0/x,b))*x*(x+1)/2);
}
return 0;
}