您的位置:首页 > 其它

Codeforces Round #259 (Div. 1)——Little Pony and Expected Maximum

2014-08-02 10:36 465 查看
题目连接

题意:

输入n、m,表示一个n面的色子(面上的值为1-n),投掷m次,求得到的最大值的期望(1 ≤ m, n ≤ 105).
分析:

假设当前得到的最大值是Max,那么对应的概率是:sigma(C(m,k) * ((1 / n) ^ k )*(((Max - 1) / n) ^ (m - k)) ),(1 <= k <= n);化简就可以得到:sigma(C(m,k) * ((1 / n) ^ k )*(((Max - 1) / n) ^ (m - k)) ) - ((Max - 1) / n) ^ m,(0 <= k <= n);前半部分由二项式可以得到Max ^ m,那么化简结果就是Max ^ m - (Max - 1) ^ m。最后再乘以Max就是期望了。Max可以采用枚举的方式

感叹一下,才发现pow函数和快速幂的效率是一样的。。
int main ()
{
int n, m;
while (~RII(n, m))
{
double ans = 0;
FE(Max, 1, n)
{
ans += Max * (pow((double)Max / n, m) - pow((Max - 1.0) / n, m));
}
printf("%.10f\n", ans);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  acm