题目链接

\(f[s][i][j][k]\)表示还剩\(s\)次攻击,分别有\(i,j,k\)个血量为\(1,2,3\)的奴隶主时,期望受到伤害。
因为期望是倒推,所以这么表示从后往前求,注意\(a,b,c\)的更新顺序(全写反了QAQ)!顺推的话需要同时维护概率(概率就是伤害了)。
注意判断不能超过7。
命中每个的概率是\(i(j,k)/(i+j+k+1)\).

//1124kb    8ms
#include <cstdio>double f[53][9][9][9];void Init()
{
//  f[0][A][B][C]=0;for(int i=0; i<50; ++i)for(int a=0; a<=7; ++a)for(int b=0; b<=7-a; ++b)for(int c=0; c<=7-a-b; ++c){double p=1.0/(a+b+c+1.0);f[i+1][a][b][c]+=/*1.0**/p*(f[i][a][b][c]+1.0);if(a) f[i+1][a][b][c]+=(double)a*p*f[i][a-1][b][c];if(b){if(a+b+c<7) f[i+1][a][b][c]+=(double)b*p*f[i][a+1][b-1][c+1];else f[i+1][a][b][c]+=(double)b*p*f[i][a+1][b-1][c];}if(c){if(a+b+c<7) f[i+1][a][b][c]+=(double)c*p*f[i][a][b+1][c];else f[i+1][a][b][c]+=(double)c*p*f[i][a][b+1][c-1];}}
}int main()
{Init();int A,B,C,K,T; scanf("%d",&T);while(T--)scanf("%d%d%d%d",&K,&A,&B,&C),printf("%.2lf\n",f[K][A][B][C]);return 0;
}

转载于:https://www.cnblogs.com/SovietPower/p/8684445.html

BZOJ.4832.[Lydsy1704月赛]抵制克苏恩(期望DP)相关推荐

  1. 【bzoj4832】[Lydsy1704月赛]抵制克苏恩 期望dp

    Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩炉石传说,不必担心,小Q 同学会告诉你所有相关的细节.炉石传说是这样的一个游戏,每个玩家拥有一个 ...

  2. [BZOJ]4832 抵制克苏恩 期望dp

    4832: [Lydsy2017年4月月赛]抵制克苏恩 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 488  Solved: 187 [Submit ...

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

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

  4. 【BZOJ】1076 [SCOI2008]奖励关 期望DP+状压DP

    [题意]n种宝物,k关游戏,每关游戏给出一种宝物,可捡可不捡.每种宝物有一个价值(有负数).每个宝物有前提宝物列表,必须在前面的关卡取得列表宝物才能捡起这个宝物,求期望收益.k<=100,n&l ...

  5. BZOJ4832: [Lydsy2017年4月月赛]抵制克苏恩

    传送门 题目大意: 攻击k次,每次可攻击随从或英雄. 随从数不大于7个,且1滴血的a个,2滴b个,3滴c个. 攻击一次血-1,如果随从没死可以生成3滴血随从一个 题解: 概率/期望dp f[i][j] ...

  6. Lydsy2017年4月月赛 抵制克苏恩

    Description 小Q同学现在沉迷炉石传说不能自拔.他发现一张名为克苏恩的牌很不公平.如果你不玩 炉石传说,不必担心,小Q同学会告诉你所有相关的细节.炉石传说是这样的一个游戏, 每个玩家拥有一个 ...

  7. bzoj 1076 奖励关 状压+期望dp

    因为每次选择都是有后效性的,直接dp肯定不行,所以需要逆推. f[i][j]表示从第i次开始,初始状态为j的期望收益 #include<cstdio> #include<cstrin ...

  8. BZOJ 3036 绿豆蛙的归宿 期望DP

    Time Limit: 2 Sec Memory Limit: 128 MB Submit: 610 Solved: 431 Description 随着新版百度空间的下线,Blog宠物绿豆蛙完成了它 ...

  9. BZOJ 2553: [BeiJing2011]禁忌【ACAM + 期望dp + 矩快优化

    --反正瞎瘠薄搞搞,都是显然的 #pragma GCC optimize(3) #include<bits/stdc++.h> #define MAXN 80 using namespac ...

最新文章

  1. golang源码分析-调度概述
  2. php 操作mssql,php操作mssql
  3. 如何在 Eclipse 中使用命令行
  4. Android Crash分析工具arm-eabi-addr2line
  5. 三维重建:Kinect几何映射-SDK景深数据处理
  6. 系统架构师学习笔记_第十一章(上)_连载
  7. 超详细springboot热部署
  8. 2018年,数万款小程序暴毙在路上
  9. GC回收算法--当女友跟你提分手!
  10. java中intern,在Java中什么时候使用String.intern()方法?
  11. 集成安装光盘制作教程(http://bbs.deepin.org/viewthread.php?tid=1170144)
  12. js实现中英文合并排序
  13. html5 自动分享到朋友圈,html5手机端分享微信朋友圈代码
  14. vue中调用百度地图 获取经纬度
  15. 关于《更新win11之后我的edge浏览器打不开》这件事
  16. 「镁客·请讲」bitBerg杨坤:冰山下藏着的是VR游戏的未来
  17. 学区块链技术,到底学什么?区块链培训机构or自学?
  18. acwing算法基础课 844. 走迷宫
  19. linux shell cut sed
  20. 【JHOK-ZBZ201型智能型剩余电流继电器】

热门文章

  1. mysql缺少函数_总结零散的 MySQL 基础知识
  2. textview 加粗_Android 改变 TextView 内局部样式
  3. 天语手机android 4.4.4,天语 V8 4.4.4 ROM刷机包 MIUI 6 合作版
  4. 事业编考试计算机专业部分,事业单位考试计算机专业知识汇总-单选题.pdf
  5. 如何创建linux 脚本,如何创建和执行shell脚本
  6. swagger内部类_spring boot 1.5.4 集成spring-Data-JPA(七)
  7. ps分辨率像素英寸和厘米的区别_南南带你免费学习超级强大的做图软件-PS(第一章:第二节)...
  8. python写入指定路径的文件_python 从shell读取指定文件以及写入指定文件
  9. 计算机三级网络技术知识点cn,计算机等级三级网络技术考试详解
  10. 【数据库原理实验(openGauss)】 使用JDBC连接数据库