bzoj 4832 抵制克苏恩
4832: [Lydsy2017年4月月赛]抵制克苏恩
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 441 Solved: 162
[Submit][Status][Discuss]
Description
Input
Output
对于每局游戏,输出一个数字表示总伤害的期望值,保留两位小数。
Sample Input
1 1 1 1
Sample Output
f[i+1][a-1][b][c]+=f[i][a][b][c]*
a/
(1+a+b+c); (a>0)
f[i+1][a+1][b-1][c+1]+=f[i][a][b][c]*
b/
(1+a+b+c); (b>0且a+b+c<7)
f[i+1][a+1][b-1][c]+=f[i][a][b][c]*
b/
(1+a+b+c); (b>0且a+b+c==7
)
f[i+1][a][b+1][c]+=f[i][a][b][c]*
c/
(1+a+b+c); (c>0且a+b+c<7)
f[i+1][a][b+1][c-1]+=f[i][a][b][c]*
c/
(1+a+b+c); (c>0且a+b+c==7)
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 #define eps 1e-10 8 int read() { 9 int s=0,f=1; 10 char ch=getchar(); 11 while(ch>'9'||ch<'0') { 12 if(ch=='-') { 13 f=-1; 14 } 15 ch=getchar(); 16 } 17 while(ch>='0'&&ch<='9') { 18 s=(s<<1)+(s<<3)+(ch^48); 19 ch=getchar(); 20 } 21 return s*f; 22 } 23 int T,k,A,B,C; 24 double ans; 25 double f[59][10][10][10]; 26 void init() { 27 memset(f,0,sizeof(f)); 28 f[0][A][B][C]=1; 29 } 30 void work() { 31 for(int i=0; i<k; i++) { 32 for(int a=0; a<8; a++) { 33 for(int b=0; b<8; b++) { 34 for(int c=0; c<8; c++) { 35 if(a+b+c>7) { 36 continue; 37 }//攻击随从 38 //cout<<a<<endl; 39 if(a>0) { //a被攻击死亡不会产c 40 f[i+1][a-1][b][c]+=f[i][a][b][c]*(double)a/(double)(1+a+b+c); 41 } 42 if(b>0) { 43 if(a+b+c<7) { //b被攻击 总和小于7 产c 44 f[i+1][a+1][b-1][c+1]+=f[i][a][b][c]*(long double)b/(long double)(1+a+b+c); 45 } 46 if(a+b+c>=7) { //b被攻击 总和等于7 不产c 47 f[i+1][a+1][b-1][c]+=f[i][a][b][c]*(long double)b/(long double)(1+a+b+c); 48 } 49 } 50 if(c>0) { 51 if(a+b+c<7) { //c被攻击 总和小于7 52 f[i+1][a][b+1][c]+=f[i][a][b][c]*(long double)c/(long double)(1+a+b+c); 53 } 54 if(a+b+c>=7) { //c被攻击 总和等于7 55 f[i+1][a][b+1][c-1]+=f[i][a][b][c]*(long double)c/(long double)(1+a+b+c); 56 } 57 } 58 f[i+1][a][b][c]+=f[i][a][b][c]/(long double)(a+b+c+1);//英雄被攻击 59 ans+=f[i][a][b][c]/(a+b+c+1.0); 60 } 61 } 62 } 63 } 64 } 65 int main() { 66 //freopen("defcthun.in","r",stdin); 67 //freopen("defcthun.out","w",stdout); 68 T=read(); 69 while(T--) { 70 ans=0; 71 k=read(); 72 A=read(); 73 B=read(); 74 C=read(); 75 init(); 76 work(); 77 printf("%0.2lf\n",ans); 78 } 79 //fclose(stdin); 80 //fclose(stdout); 81 return 0; 82 }
转载于:https://www.cnblogs.com/forevergoodboy/p/7260025.html
bzoj 4832 抵制克苏恩相关推荐
- BZOJ 4832 - 抵制克苏恩 - 动态规划
BZOJ 4832 - 抵制克苏恩 - 动态规划 题解链接 https://lucien.ink 题目链接 https://www.lydsy.com/JudgeOnline/problem.php? ...
- [BZOJ]4832 抵制克苏恩 期望dp
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 488 Solved: 187 [Submit ...
- 【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp
打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并 ...
- BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)
题目链接 \(f[s][i][j][k]\)表示还剩\(s\)次攻击,分别有\(i,j,k\)个血量为\(1,2,3\)的奴隶主时,期望受到伤害. 因为期望是倒推,所以这么表示从后往前求,注意\(a, ...
- 【bzoj4832】[Lydsy1704月赛]抵制克苏恩 期望dp
Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q 同学会告诉你所有相关的细节.炉石传说是这样的一个游戏,每个玩家拥有一个 ...
- Lydsy2017年4月月赛 抵制克苏恩
Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩 炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一个游戏, 每个玩家拥有一个 ...
- BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩
传送门 题目大意: 攻击k次,每次可攻击随从或英雄. 随从数不大于7个,且1滴血的a个,2滴b个,3滴c个. 攻击一次血-1,如果随从没死可以生成3滴血随从一个 题解: 概率/期望dp f[i][j] ...
- 一句话题解(20180210~)
2.9 BZOJ 2006 [NOI2010]超级钢琴.这道题目几天之前就做了.做法是固定右端点,左端点在ST表上走,走法其实就是笛卡尔树的走法.完结撒花! BZOJ 1218 [HNOI2003]激 ...
- 暑期集训日志(Day0~Day5)
章·五:2019-07-15:明月不谙离恨苦,斜光到晓穿朱户 ·昨日小结: 昨天考试又是爆零边缘,除了难过就剩难过了. T1暴力打崩了只拿了5分. T2没给分时间.最后20分钟打了个残码.没仔细观察数 ...
最新文章
- python爬虫案例-Python爬虫案例集合
- Linux 下解压文件命令大全
- Android实际开发中的bug总结与解决方法(一)
- 微信小游戏开发指南(一)什么是微信小游戏
- 软媒定时关机,电脑无法启动
- CCF CSP 201903-1 小中大
- spring data jpa 使用@Query 动态参数查询案例分析
- 开启并定制 Apache 显示目录索引样式
- 红帽Linux多点触摸,Linux系统实现多点触摸
- FPGA组合逻辑训练-三八译码器
- 使用linux的gpio点亮imx6ull的led灯
- 未连接到互联网代理服务器出现问题,或者地址有误,该如何解决?
- 区别:KL散度,JS散度,Wasserstein距离(EMD)
- 访问weblogic控制台报错的问题处理
- 重磅 | 《2020年度中国计算机视觉人才调研报告》正式出炉
- Eclipse开发工具--简介
- 微信如何添加精准粉丝
- 从来不敷面膜的人_女人不敷面膜的危害 三大危害让你不得不敷面膜
- STM8S105 TIM1 TIM2 定时器的定时时间初始化
- Golang处理JSON(二) 反序列化
热门文章
- Android之自定义View以及画一个时钟
- Xshell连接不上Linux的解决方法
- ThinkPHP多应用/多模块配置
- [家里蹲大学数学杂志]第254期第五届[2013年]全国大学生数学竞赛[数学类]试题
- Windows Phone开发(27):隔离存储A
- 使用 x3dom 框架及 WebGL 在浏览器上显示 3 维模型
- 使用Sencha Designer来快速开发web用户界面 -- 初识Designer
- VC的包含文件和引用文件是不一样的~
- 大学生学习c语言方法,针对在校大学生的C语言入门学习——函数
- leetcode算法题--和为s的连续正数序列