首页 > 其他 > 详细

Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)

时间:2014-08-05 10:44:59      阅读:252      评论:0      收藏:0      [点我收藏+]

题目链接

题意 : 一个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)。

bubuko.com,布布扣
 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 }
View Code

 

Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望),布布扣,bubuko.com

Codeforces Round #259 (Div. 2) C - Little Pony and Expected Maximum (数学期望)

原文:http://www.cnblogs.com/luyingfeng/p/3891533.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!