首页 > 代码库 > 2017-03-16 Codeforces 453A 概率期望,思维 UOJ 228(待补)

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 0x3f3f3f3ftypedef 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

 

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