题目描述:
抛m面色子n次,得分是其中得到的最大值,求期望
分析:
我觉得可以直接算出以x为最大值的方案数
期望=总贡献/概率
f[i]
f
[
i
]
表示
i
i
是最大值的概率
表示::每次掷出
1..i
1..
i
任意个的概率-每次都无法掷得
i
i
的概率(即每次掷出的数是1..(i-1))
答案:
快速幂直接计算即可
#include<cstring>
#include<cstdio>
#include<iostream>
using namespace std;
double m;
int n;
double KSM(double x,int p) {
double t=1;
while (p) {
if (p&1) t=t*x;
x=x*x;
p>>=1;
}
return t;
}
int main() {
scanf("%lf%d",&m,&n);
double ans=0;
for (int i=1;i<=m;i++) {
double f=KSM((double)i/m,n);
f=f-KSM((double)(i-1)/m,n);
ans+=f*(double)i;
}
printf("%0.5lf",ans);
return 0;
}