zoukankan      html  css  js  c++  java
  • Codeforces Round #259 (Div. 2) C

    题目链接

    题意 : 一个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
    ",sum) ;
    20     }
    21     return 0 ;
    22 }
    View Code
  • 相关阅读:
    安装HDP时的报错信息
    K-近邻(KNN)算法
    linux复杂命令
    azkaban报错记录
    azkaban的安装部署
    安装centOS后要解决的问题
    AI之微信跳一跳
    Python的lambda
    关于在vim中的查找和替换
    cdh6.3.2 hue集成hbase
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3891533.html
Copyright © 2011-2022 走看看