标签:style blog http color os io for art
题意 : 一个m面的骰子,掷n次,问得到最大值的期望。
思路 : 数学期望,离散时的公式是E(X) = X1*p(X1) + X2*p(X2) + …… + Xn*p(Xn)
p(xi)的是所有最大值是xi的情况数/总情况数一共是m^n种,掷n次,所有最大值是xi的情况数应该是xi^n,但是这里边却包含着最大值非xi且不超过xi的种数,所以再减去最大值是xi-1或者最大值不超过这个的情况数。即sum += xi * (xi^n-(xi-1)^n)/m^n,但是这样求肯定是不行,因为m n 的取值范围是10^5所以100000^100000会溢出,将这个公式的m^n提到括号里,即变成sum += xi*((xi/m)^n-((xi-1)/m)^n)。
1 //C. Little Pony and Expected Maximum 2 #include <cstdio> 3 #include <cstring> 4 #include <iostream> 5 #include <cmath> 6 7 using namespace std ; 8 9 int main() 10 { 11 double m , n ; 12 while(~scanf("%lf %lf",&m,&n)) 13 { 14 double sum = 0.0; 15 for(int i = 1 ; i <= m ; i++) 16 { 17 sum += (pow(i/m,n)-pow((i-1)/m,n))*i ; 18 } 19 printf("%.12lf\n",sum) ; 20 } 21 return 0 ; 22 }
Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望),布布扣,bubuko.com
Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)
标签:style blog http color os io for art
原文地址:http://www.cnblogs.com/luyingfeng/p/3891533.html