codeforces——Little Pony and Expected Maximum

时间:2023-03-09 18:14:44
codeforces——Little Pony and Expected Maximum
 /*
我们枚举每次选择最大数值的情况:m个数, 投掷n次
最大值是1: 1种
2: 2^n-1
3: 3^n-2^n
.....
m: m^n-(m-1)^n 所以最后的结果=sum((k/m)^n - ((k-1)/m)^n) (1<=k<=m)
不要这样求(k^n/m^n)数据可能会很大!
*/
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std; int main(){
int n, m; while(cin>>m>>n){
double sum, cur=pow(1.0/m, n), nt;
sum=cur;
for(int i=; i<=m; ++i){
nt=pow(i*1.0/m, n);
sum+=(nt-cur)*i;
cur=nt;
}
printf("%.12lf\n", sum);
}
return ;
}