【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp
打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并加和,一开始我用的期望忘了转移的时候不能用1而要用概率......
#include <cstdio> #include <cstring> #define r register using namespace std; typedef long double LD; inline int read() {r int sum=0;r char ch=getchar();while(ch<'0'||ch>'9')ch=getchar();while(ch>='0'&&ch<='9'){sum=(sum<<1)+(sum<<3)+ch-'0';ch=getchar();}return sum; } LD f[55][10][10][10]; int main() {r int T=read();while(T--){for(r int i=0;i<55;++i)for(r int j=0;j<10;++j)for(r int l=0;l<10;++l)for(r int k=0;k<10;++k)f[i][j][l][k]=0.0;r int K=read(),A=read(),B=read(),C=read();f[0][C][B][A]=1.0;LD ans=0.0;for(r int i=0;i<K;++i)for(r int j=0;j<=7;++j)for(r int l=0;l+j<=7;++l)for(r int k=0;k+j+l<=7;++k){f[i+1][j][l][k]+=f[i][j][l][k]/(1+j+l+k);ans+=f[i][j][l][k]/(1+j+l+k);if(k)f[i+1][j][l][k-1]+=f[i][j][l][k]*k/(1+j+l+k);if(j+l+k<7){if(l)f[i+1][j+1][l-1][k+1]+=f[i][j][l][k]*l/(1+j+l+k);if(j)f[i+1][j][l+1][k]+=f[i][j][l][k]*j/(1+j+l+k);}else{if(l)f[i+1][j][l-1][k+1]+=f[i][j][l][k]*l/(1+j+l+k);if(j)f[i+1][j-1][l+1][k]+=f[i][j][l][k]*j/(1+j+l+k);}}double Ans=ans;printf("%.2lf\n",Ans);} }
转载于:https://www.cnblogs.com/TSHugh/p/7260537.html
【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp相关推荐
- Lydsy2017年4月月赛 抵制克苏恩
Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩 炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一个游戏, 每个玩家拥有一个 ...
- BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩
传送门 题目大意: 攻击k次,每次可攻击随从或英雄. 随从数不大于7个,且1滴血的a个,2滴b个,3滴c个. 攻击一次血-1,如果随从没死可以生成3滴血随从一个 题解: 概率/期望dp f[i][j] ...
- BZOJ 4884 [Lydsy2017年5月月赛]太空猫(单调DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4884 [题目大意] 太空猫(SpaceCat)是一款画面精致.玩法有趣的休闲游戏, 你 ...
- BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)
题目链接 \(f[s][i][j][k]\)表示还剩\(s\)次攻击,分别有\(i,j,k\)个血量为\(1,2,3\)的奴隶主时,期望受到伤害. 因为期望是倒推,所以这么表示从后往前求,注意\(a, ...
- bzoj 4886: [Lydsy2017年5月月赛]叠塔游戏 并查集
题意 小Q正在玩一个叠塔的游戏,游戏的目标是叠出尽可能高的塔.在游戏中,一共有n张矩形卡片,其中第i张卡片的长度为a_i,宽度为b_i.小Q需要把所有卡片按一定顺序叠成一座塔,要求对于任意一个矩形,它 ...
- BZOJ 4883 [Lydsy2017年5月月赛]棋盘上的守卫(最小生成环套树森林)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=4883 [题目大意] 在一个n*m的棋盘上要放置若干个守卫. 对于n行来说,每行必须恰好 ...
- 【bzoj4832】[Lydsy1704月赛]抵制克苏恩 期望dp
Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q 同学会告诉你所有相关的细节.炉石传说是这样的一个游戏,每个玩家拥有一个 ...
- [BZOJ]4832 抵制克苏恩 期望dp
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 488 Solved: 187 [Submit ...
- 【bzoj4881】[Lydsy2017年5月月赛]线段游戏 树状数组+STL-set
题目描述 quailty和tangjz正在玩一个关于线段的游戏.在平面上有n条线段,编号依次为1到n.其中第i条线段的两端点坐标分别为(0,i)和(1,p_i),其中p_1,p_2,...,p_n构成 ...
最新文章
- CS5中动作和批处理
- tiny4412学习之u-boot启动过程
- 惊呆了!两人发现抵用券漏洞,疯狂“薅羊毛”获利 770 余万
- kubernetes之kubedns部署
- 阻塞队列实现日志接口开发
- Makefile 学习 2 - 基于若干 Blog 的汇总
- 2.5e2.0是合法的c语言常量,二级考试C语言程序设计.ppt
- order by居然不能直接在union子句中使用
- Android上传图片的两种方式
- php替换图片_php实现图片上传并进行替换操作
- 电脑屏幕变黄如何调整_办公室照明设计如何避免踩坑,四个要点必须注意
- Linux下source命令作用
- SQL SERVER 2005 批量收缩数据库
- 深度卷积神经网络(AlexNet)
- (源代码)用Python制作疫情的实时数据地图(PS:全国以及每个省)
- FDA“长寿药”NMN被爆几毛一克,富豪被收天价智商税?
- 小牛叔讲Python第6章:for循环-能计数的循环1234567
- 使用较广泛的安全测试工具有哪些?
- 工程制图 ( 制图的基本知识和基本技能)
- OpenCV 文字绘制cv::putText详解