ZJNU 2235 - EnDlEsS ChAsE

因为速度值保证各不相同

所以n只战斗人形会出现 n! 种不同情况

可以用不同id表示不同人形的速度

比如1 2 3三只人形

他们可能的排列有

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

6种情况中,每种情况最后存活的人形有

3 2 2 2 1 1

期望为11/6

实际上再把4的列出来算下答案就很明显了……

1/1 3/2 11/6 25/12 ...

所以枚举(写一个能够列出所有情况的程序吧……)可得

期望为

 1 #include<stdio.h>
 2 double ans[5000005];
 3 int main(){
 4     int T,i;
 5     ans[0]=0.0;
 6     ans[1]=1.0;
 7     for(i=2;i<=5000000;i++)
 8         ans[i]=ans[i-1]+1.0/i;
 9     scanf("%d",&T);
10     while(T--){
11         scanf("%d",&i);
12         printf("%.7f\n",ans[i]);
13     }
14     
15     return 0;
16 }

猜你喜欢

转载自www.cnblogs.com/stelayuri/p/12238766.html