【CF 453A】 Little Pony and Expected Maximum (最大期望)

来源:互联网 发布:ib网络是什么意思啊 编辑:程序博客网 时间:2024/05/21 17:42
【CF 453A】 Little Pony and Expected Maximum (最大期望)

推一下可以发现掷出i的概率为 (i/m)^n-((i-1)/m)^n

这样递推求值即可 注意直接先求比再求幂 分子分母分开的话会爆 说了误差不超1e-4即可 不必担心精度


代码如下:

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#define ll long longusing namespace std;double pow(int i,int m,int b){    double ans = 1;    double a = i*1.0/m;    while(b)    {        if(b&1) ans *= a;        a *= a;        b >>= 1;    }    return ans;}int main(){    double x,pre,now,sum;    int m,n,i;    scanf("%d %d",&m,&n);    sum = 0;    pre = 0;    for(i = 1; i <= m; ++i)    {        now = pow(i,m,n);        sum += i*(now-pre);        pre = now;    }    printf("%.12lf\n",sum);    return 0;}


0 0