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 ...

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

期望为

 

#include<stdio.h>
double ans[5000005];
int main(){
    int T,i;
    ans[0]=0.0;
    ans[1]=1.0;
    for(i=2;i<=5000000;i++)
        ans[i]=ans[i-1]+1.0/i;
    scanf("%d",&T);
    while(T--){
        scanf("%d",&i);
        printf("%.7f\n",ans[i]);
    }
    
    return 0;
}

 

posted @ 2020-01-28 20:05  StelaYuri  阅读(123)  评论(0编辑  收藏  举报