概率DP
题意:给出一个骰子有n面,求出骰子每一面都出现的期望。
递推公式 dp[i] = (i/n)*dp[i-1] + (n-i/n)*dp[i+1] +1 ;
化简得 dp[i] = dp[i+1] + n/(n-i);
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
int Case=0;
while(t--)
{
Case++;
int n;
scanf("%d",&n);
double ans=0;
for(int i=n-1;i>=0;i--)
{
ans+=(n*1.0)/(n-i);
}
printf("Case %d: %.7f\n",Case,ans);
}
return 0;
}