t组样例
n<100010
dp[i] 从i翻到n面的期望
接下来翻 可能是i面已经有的 也可能是n-i面没有的
dp[i]=i/n*(dp[i]+1)+(n-i)/n*(dp[i+1]+1);
dp[n]=0;
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h> using namespace std; #define MAXN 100010
double dp[MAXN]; int main()
{
int t,ca;
ca=;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
dp[n]=;
for(int i=n-;i>=;i--)
{
dp[i]=dp[i+]+double(n)/(n-i);
}
printf("Case %d: %.6lf\n",ca++,dp[]);
} return ;
}