Codeforces 148D 概率DP 水题

原创 2015年07月09日 12:31:26

设dp[i][j] 为剩余i个白球,j个黑球的公主的胜率。

可以推出公式 dp[i][j] = 1.0*i / (i + j) + 1.0*j * (j - 1) * (i*dp[i-1][j-2] + (j - 2) * dp[i][j-3]) / (i + j) / (i + j - 1) / (i + j - 2) 。

注意一下边界。


代码:

#include<cstdio>
#include<iostream>

using namespace std;
const int maxn = 1005;

double dp[maxn][maxn];
int w,b;

int main(){
    scanf("%d%d",&w,&b);
    for(int i=0;i<=w;i++){
        for(int j=0;j<=b;j++){
            if(i == 0){
                dp[i][j] = 0;continue;
            }
            if(j == 0){
                dp[i][j] = 1;continue;
            }
            if(j == 1){
                dp[i][j] = 1.0*i / (i + j);continue;
            }
            if(j == 2){
                dp[i][j] = 1.0*i / (i + j) +  1.0* j * (j - 1) * dp[i-1][j-2] / (i + j) / (i + j - 1);continue;
            }
            dp[i][j] = 1.0*i / (i + j) + 1.0*j * (j - 1) * (i*dp[i-1][j-2] + (j - 2) * dp[i][j-3]) / (i + j) / (i + j - 1) / (i + j - 2);
        }
    }
    printf("%.9f\n",dp[w][b]);
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CodeForces 148D Bag of Mice 概率DP

CF的题都喜欢加一堆背景? 锻炼英语翻译233。 第一段不翻了。。。 两人轮流从袋子里(包含w和白老鼠和b个黑老鼠)拿老鼠,第一个拿到白老鼠的人赢。 每次拿走一只老鼠以后,剩下的老鼠就会很恐慌...

【DP】CodeForces 148D

大概思路如下, 一种是妹子直接赢 另一种是龙不赢接着拿。。 对于f[i][j]表示剩i个白鼠j个黑鼠 妹子直接赢就是i/(i+j) 龙不赢就是妹子输的几率再乘上递归的条件。 还有一些细节 ...

codeforces 148D D. Bag of mice(概率dp)

题目链接:codeforces 148D题目大意:给出w只白老鼠,b只黑老鼠,公主和龙轮流取老鼠,公主先手,龙取老鼠时会吓跑一只老鼠,先取出白老鼠的人赢,如果没人取到白老鼠,那么龙赢。问公主赢的概率。...

Codeforces 148D D Bag of mice(概率dp)

题目链接:Codeforces 148D D Bag of mice 概率dp。

CodeForces 148D Bag of mice 详解 (概率DP)

D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes input standar...

CodeForces 148D Bag of mice

/* 不妨把王妃取一次和龙取一次作为一次操作 有三种情况 1.王妃取到w 2.王妃取到b龙取w,b 3.王妃取到b龙取b,b ...

codeforces 148D之概率DP

http://codeforces.com/problemset/problem/148/D D. Bag of mice time limit per test 2 sec...

Codeforces 148D - Bag of mice 概率dp

D. Bag of mice time limit per test 2 seconds memory limit per test 256 megabytes in...

Codeforces  148D Bag of mice(概率DP入门)

题目很简单:公主和龙在玩游戏,一个袋子里有 w 只白老鼠和 b 只黑老鼠,公主先从袋子中取一只老鼠,然后龙再取,然后会有一只老鼠等概率的跳出来,然后再由公主取,谁先取到白老鼠谁就获胜,取老鼠也是等概率...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)