枚举猜答案……
因为速度值保证各不相同
所以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 ",ans[i]); } return 0; }