概率 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;
1 #include<stdio.h> 2 #include<algorithm> 3 #include<string.h> 4 #include<math.h> 5 6 using namespace std; 7 8 #define MAXN 100010 9 double dp[MAXN]; 10 11 int main() 12 { 13 int t,ca; 14 ca=1; 15 scanf("%d",&t); 16 while(t--) 17 { 18 int n; 19 scanf("%d",&n); 20 dp[n]=0; 21 for(int i=n-1;i>=0;i--) 22 { 23 dp[i]=dp[i+1]+double(n)/(n-i); 24 } 25 printf("Case %d: %.6lf\n",ca++,dp[0]); 26 } 27 28 29 return 0; 30 }
posted on 2016-11-23 18:28 HelloWorld!--By-MJY 阅读(200) 评论(0) 编辑 收藏 举报