首页 > 其他 > 详细

LightOJ - 1248 Dice (III) 期望 + dp

时间:2015-06-05 10:17:03      阅读:220      评论:0      收藏:0      [点我收藏+]

题目大意:给出一个n面的色子,问看到每个面的投掷次数期望是多少

解题思路:水题啊,竟然被卡了那么久,也是醉了,给题目所给的那个样例误导了。。。不怪那个 怪自己太弱了,还得继续训练啊。。。

设dp[i]表示扔到i个不同面的期望,那么
dp[i + 1] = i / n * dp[i + 1] + (n - i) / n * dp[i] + 1
整理得
dp[i + 1] = n / (n - i) + dp[i] + 1

#include<cstdio>
#define maxn 100010
double f[maxn];
int main() {
    int test,n, cas = 1;
    scanf("%d", &test);
    while(test--) {
        scanf("%d", &n);
        f[0] = 0;
        for(int i = 0; i < n; i++)
            f[i + 1] = f[i] + (1.0 * n / (n - i));
        printf("Case %d: %.7lf\n", cas++, f[n]);
    }
    return 0;
}

LightOJ - 1248 Dice (III) 期望 + dp

原文:http://blog.csdn.net/l123012013048/article/details/46369171

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