传送门

题目大意:

攻击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月月赛]抵制克苏恩的更多相关文章

  1. [Bzoj4832][Lydsy2017年4月月赛]抵制克苏恩 (期望dp)

    4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 673  Solved: 261[Submit][ ...

  2. 【BZOJ4832】[Lydsy2017年4月月赛]抵制克苏恩 概率与期望

    [BZOJ4832][Lydsy2017年4月月赛]抵制克苏恩 Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q同学会告诉 ...

  3. [补档][Lydsy2017年4月月赛]抵制克苏恩

    [Lydsy2017年4月月赛]抵制克苏恩 题目 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平. 如果你不玩炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一 ...

  4. 【BZOJ 4832 】 4832: [Lydsy2017年4月月赛]抵制克苏恩 (期望DP)

    4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 275  Solved: 87 Descripti ...

  5. 【bzoj4832】[Lydsy2017年4月月赛]抵制克苏恩 概率期望dp

    题目描述 你分别有a.b.c个血量为1.2.3的奴隶主,假设英雄血量无限,问:如果对面下出一个K点攻击力的克苏恩,你的英雄期望会受到到多少伤害. 输入 输入包含多局游戏. 第一行包含一个整数 T (T ...

  6. 【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp

    打记录的题打多了,忘了用开维记录信息了......我们用f[i][j][l][k]表示已经完成了i次攻击,随从3血剩j个,2血剩l个,1血剩k个,这样我们求出每个状态的概率,从而求出他们对答案的贡献并 ...

  7. [Lydsy2017年4月月赛]抵制克苏恩题解

    考试的时候以为就是简单的概率期望题,考完后知道是简单的概率期望DP题,完美爆零. 这道题数据范围很小,很容易让人想到状压,不过貌似没什么可压的.那么只能说明这道题复杂度很高了,状态数组f[o][i][ ...

  8. [BZOJ 4832][lydsy 4月赛] 抵制克苏恩

    题面贴一发 [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 443  Solved: 164[Submit][ ...

  9. bzoj 4836: [Lydsy2017年4月月赛]二元运算 -- 分治+FFT

    4836: [Lydsy2017年4月月赛]二元运算 Time Limit: 8 Sec  Memory Limit: 128 MB Description 定义二元运算 opt 满足   现在给定一 ...

随机推荐

  1. iptables配置顺序-两条规则会忽略后边的

    oracle在centos本机能够正常访问,关闭防火墙也能够远程访问,但是一旦开启防火墙则不能远程访问 尝试添加规则iptables -A INPUT -m state --state NEW -m ...

  2. 菜单Menu

    <Menu HorizontalAlignment="> <MenuItem Header="文件"> <MenuItem Header=& ...

  3. jQuery垂直滑动切换焦点图

    在线演示 本地下载

  4. Convolutional Neural Network

    Why CNN for Image 图片是由像素点组成的,可以这样来解释深度神经网络对图片的处理. 第一层的layer是最基本的分类器,区分一些基本的特征,比如颜色.是否有斜线. 第二层的layer会 ...

  5. Valid Number,判断是否为合法数字

    问题描述: Validate if a given string is numeric. Some examples:"0" => true" 0.1 " ...

  6. linux 安装unrar

    Centos 6 32位下安装 wget http://pkgs.repoforge.org/unrar/unrar-4.2.3-1.el6.rf.i686.rpmrpm -ivh unrar-4.2 ...

  7. bzoj 3884 上帝与集合的正确用法 指数循环节

    3884: 上帝与集合的正确用法 Time Limit: 5 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description   根据一些 ...

  8. angularjs地址栏传参

    1:路由定义参数 2.controller 3. 4.目标得到参数值

  9. 新东方雅思词汇---8.2、chron

    新东方雅思词汇---8.2.chron 一.总结 一句话总结:时间 chronic 英 ['krɒnɪk]  美 ['krɑnɪk]  adj. 慢性的:长期的:习惯性的 n. (Chronic)人名 ...

  10. Ceph配置项动态变更机制浅析

    转自:https://www.ustack.com/blog/ceph%e9%85%8d%e7%bd%ae%e9%a1%b9%e5%8a%a8%e6%80%81%e5%8f%98%e6%9b%b4%e ...