题目链接: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;
}