CF 540D Bad Luck Island

Posted wjnclln

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF 540D Bad Luck Island相关的知识,希望对你有一定的参考价值。

一看就是DP题(很水的一道紫题)

\(dp[i][j][k]\)为留下\(i\)\(r\)族的人,死去\(j\)\(s\)族的人,死去\(k\)\(p\)族的人的概率(跟其他的题解有点差别,但本质相同)。

#include <bits/stdc++.h>
using namespace std;
double dp[101][101][101];
int a, b, c;
int main() {
    scanf("%d%d%d", &a, &b, &c);
    for (int i = 1; i <= 100; i++)
        for (int j = 1; j <= 100; j++) {
            dp[i][j][0] = 1;
            for (int k = 1; k <= 100; k++)
                dp[i][j][k] += (i * j * dp[i][j - 1][k] + j * k * dp[i][j][k - 1] + k * i * dp[i - 1][j][k]) / (i * j + j * k + k * i);
        }
    printf("%.12lf %.12lf %.12lf\n", dp[a][b][c], dp[b][c][a], dp[c][a][b]);
    return 0;
}

以上是关于CF 540D Bad Luck Island的主要内容,如果未能解决你的问题,请参考以下文章

CF540D Bad Luck Island

Codeforces 540D Bad Luck Island

540D - Bad Luck Island(概率DP)

「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

CF 301div2 D. Bad Luck Island

cf540D. Bad Luck Island(概率dp)