关闭

SGU 495 Kids and Prizes (概率DP入门)

185人阅读 评论(0) 收藏 举报
分类:

设dp[i] 为前i个winners获得pizza的期望。

状态转移方程: dp[i+1] = dp[i]*dp[i] / N + (dp[i] + 1)*(N - dp[i]) / N 。


代码:

#include<cstdio>
#include<iostream>

using namespace std;
const int maxm = 100005;

double dp[maxm];
int n,m;

int main(){
    scanf("%d%d",&n,&m);
    dp[0] = 0;
    for(int i=1;i<=m;i++){
        dp[i] = dp[i-1]*dp[i-1]/n + (dp[i-1]+1)*(n-dp[i-1])/n;
    }
    printf("%.9f\n",dp[m]);
    return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:34036次
    • 积分:2526
    • 等级:
    • 排名:第14520名
    • 原创:228篇
    • 转载:8篇
    • 译文:0篇
    • 评论:0条
    文章分类