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 ", ans); return 0; }