概率 light oj 1248

时间:2023-03-09 15:05:14
概率 light oj 1248

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 ;
}