2017-03-16 Codeforces 453A 概率期望,思维 UOJ 228(待补)

Codeforces 453A    A. Little Pony and Expected Maximum

题意:一个m面质地均匀的骰子,每面出现的概率都是独立的1/m, 你需要投掷n次,其结果是这n次出现的最大点数。问投掷n次骰子的结果的期望值是多少,要求相对误差或绝对误差不超过1e-4。

tags:枚举骰子出现最大值i,计算出最大值为i时的概率,就得到了答案。 最大值为i的概率=(i/m)^n-((i-1)/m)^n。

#include<bits/stdc++.h>
using namespace std;
#pragma comment(linker, "/STACK:102400000,102400000")
#define rep(i,a,b) for (int i=a;i<=b;i++)
#define per(i,b,a) for (int i=b;i>=a;i--)
#define mes(a,b)  memset(a,b,sizeof(a))
#define INF 0x3f3f3f3f
typedef long long ll;
const int N = 200005;

double fpow(double a, int b){double ans=1; for(;b;a=a*a,b>>=1)if(b&1)ans*=a; return ans;}
int main()
{
    int n, m;
    double ans=0;
    cin>>m>>n;
    rep(i,1,m) {
        ans+= (fpow(1.0*i/m, n)-fpow(1.0*(i-1)/m, n))*i;
    }
    printf("%.5f\n", ans);

    return 0;
}
View Code

 

posted @ 2017-03-23 00:10  v9fly  阅读(158)  评论(0编辑  收藏  举报