BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩
题目大意:
攻击k次,每次可攻击随从或英雄。
随从数不大于7个,且1滴血的a个,2滴b个,3滴c个。
攻击一次血-1,如果随从没死可以生成3滴血随从一个
题解:
概率/期望dp
f[i][j][p][q]表示攻击i次,一滴血的有j个,二滴血的有p个,三滴血的有q个。
转移就是枚举打在谁身上
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; int t,a,b,c,k; double f[][][][]; int main(){
scanf("%d",&t);
f[i][j][p][q]//攻击了i次,一滴血的j个,二滴血的p个,三滴血的q个
while(t--){
scanf("%d%d%d%d",&k,&a,&b,&c);
memset(f,,sizeof(f));
f[][a][b][c]=.;
double ans=.;
for(int i=;i<k;i++){
for(int j=;j<=;j++){
for(int p=;p<=;p++){
for(int q=;q<=;q++){
if(j+p+q>)break;
f[i+][j][p][q]+=f[i][j][p][q]/(j+p+q+);
ans+=f[i][j][p][q]/(j+p+q+);
if(j+p+q==){
if(j)f[i+][j-][p][q]+=f[i][j][p][q]*j/(j+p+q+);
if(p)f[i+][j+][p-][q]+=f[i][j][p][q]*p/(j+p+q+);//攻击二滴血的,二滴血的-1,一滴血的+1
if(q)f[i+][j][p+][q-]+=f[i][j][p][q]*q/(j+p+q+);
}else{
if(j)f[i+][j-][p][q]+=f[i][j][p][q]*j/(j+p+q+);
if(p)f[i+][j+][p-][q+]+=f[i][j][p][q]*p/(j+p+q+);
if(q)f[i+][j][p+][q]+=f[i][j][p][q]*q/(j+p+q+);//攻击三滴血的-1,二滴血+1,三滴血+1
}
}
}
}
}
printf("%.2f\n",ans);
}
return ;
}
AC
BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩的更多相关文章
- [Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 673 Solved: 261[Submit][ ...
- 【BZOJ4832】[Lydsy2017年4月月赛]抵制克苏恩 概率与期望
[BZOJ4832][Lydsy2017年4月月赛]抵制克苏恩 Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q同学会告诉 ...
- [补档][Lydsy2017年4月月赛]抵制克苏恩
[Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...
- 【BZOJ 4832 】 4832: [Lydsy2017年4月月赛]抵制克苏恩 (期望DP)
4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 275 Solved: 87 Descripti ...
- 【bzoj4832】[Lydsy2017年4月月赛]抵制克苏恩 概率期望dp
题目描述 你分别有a.b.c个血量为1.2.3的奴隶主,假设英雄血量无限,问:如果对面下出一个K点攻击力的克苏恩,你的英雄期望会受到到多少伤害. 输入 输入包含多局游戏. 第一行包含一个整数 T (T ...
- 【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp
打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并 ...
- [Lydsy2017年4月月赛]抵制克苏恩题解
考试的时候以为就是简单的概率期望题,考完后知道是简单的概率期望DP题,完美爆零. 这道题数据范围很小,很容易让人想到状压,不过貌似没什么可压的.那么只能说明这道题复杂度很高了,状态数组f[o][i][ ...
- [BZOJ 4832][lydsy 4月赛] 抵制克苏恩
题面贴一发 [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 443 Solved: 164[Submit][ ...
- bzoj 4836: [Lydsy2017年4月月赛]二元运算 -- 分治+FFT
4836: [Lydsy2017年4月月赛]二元运算 Time Limit: 8 Sec Memory Limit: 128 MB Description 定义二元运算 opt 满足 现在给定一 ...
随机推荐
- Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式)
Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式) 一.安装模块pyodbc pip install pyodbc 二.配置odbc数据源 (1).windo ...
- FTP vsftp 安装、管理
FTP简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为文传协议,用户Internet上的控制文件的双向传输. FTP的主要作用,就是让用户链接上一个远 ...
- 解决You have new mail in /var/spool/mail/root提示
终端远程登陆后经常提示You have new mail in /var/spool/mail/root 这个提示是LINUX会定时查看LINUX各种状态做汇总,每经过一段时间会把汇总的信息发送的ro ...
- 【bzoj5452】[Hnoi2016]大数(莫队)
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=4542 首先若p=2,5则这题就是道傻逼题,前缀和搞一下没了.如果p为其他质数,那么可以 ...
- Effective C++ 条款04:确定对象被使用前已经先被初始化
规则一 永远在使用对象之前将它初始化 int x = 0; const char* text = "A C-style string"; double d; std:: cin & ...
- 电脑 HOST 文件
路径: C:\Windows\System32\drivers\etc\HOSTS
- C#470多例winform 界面特效的源码
一共470多例winform 界面特效的源码. 窗体与界面设计... 9 实例001 带历史信息的菜单 10 实例002 菜单动态合并 12 实例003 像开始菜单一样漂亮的菜单.. ...
- eclipse中使用adb连接小米2调试程序的问题.
http://jingyan.baidu.com/article/8065f87fcbec19233124983e.html eclipse连接小米2调试程序的问题. | 浏览:5494 | 更新:2 ...
- TED字幕摘抄
1.丹·吉尔伯特: 我们为什么快乐?http://v.163.com/movie/2012/12/0/S/M8HHB6LDT_M8HHCBM0S.html 在两百万年中, 大脑脑容量从我们祖先能人的1 ...
- java jprofile
java -agentpath:/opt/jprofiler8/bin/linux-x64/libjprofilerti.so=port=8849,nowait -Xdebug -Xrunjdwp:t ...