bzoj4832 抵制克苏恩
Posted mchmch
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj4832 抵制克苏恩相关的知识,希望对你有一定的参考价值。
题意
出门右转https://www.lydsy.com/JudgeOnline/problem.php?id=4832
题解
容易知道血量相同的奴隶主性质相同。
所以记忆化搜索就好了!
调试记录
- 记忆化搜索时没有判断当前有没有存在某种奴隶主。
代码
#include <bits/stdc++.h> using namespace std; typedef long double ld; ld dp[55][8][8][8]; ld dfs(int k,int a,int b,int c) { if (k == 0) return 0; if (dp[k][a][b][c]) return dp[k][a][b][c]; // attack , main ld ret = dfs(k-1, a, b, c) + 1; // attack a if (a) ret += dfs(k-1, a-1, b, c) * a; // attack b if (b) ret += dfs(k-1, a+1, b-1, min(7-a-b, c+1)) * b; // attack c if (c) ret += dfs(k-1, a, b+1, min(6-a-b, c)) * c; return dp[k][a][b][c] = ret / (1 + a + b + c); } int main() { int T; scanf("%d", &T); while (T--) { int k, a, b, c; scanf("%d%d%d%d", &k, &a, &b, &c); if (!dfs(k, a, b, c)) printf("0.00 "); else printf("%.2Lf ", dfs(k, a, b, c)); } return 0; }
以上是关于bzoj4832 抵制克苏恩的主要内容,如果未能解决你的问题,请参考以下文章
BZOJ 4832 4832: [Lydsy2017年4月月赛]抵制克苏恩 (期望DP)
[Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)
BZOJ4832[Lydsy2017年4月月赛]抵制克苏恩 概率与期望