传送门 题意: $r$轮$n$张卡牌,每一轮依次考虑每张卡牌,$p_i$概率发动造成$d_i$伤害后结束本轮或者继续考虑下一张 每张卡牌发动过之后以后都会跳过 求$r$轮之后的期望伤害 看了一节课出题人的做法,并不知道该怎么写代码,感觉带着除法精度好玄学.... 发现网上的题解都是另一种做法 $f[i][j]$表示第$i$张牌被考虑了$j$次的概率 有两个转移: $1.\ $上一张牌考虑了$j$次都不发动 $2.\ $上一张牌考虑了$j+1$次,之前$k$次不发动,第$k$次发动了,$a*\su…
dp(i, j)表示考虑了前i张牌, 然后还有j轮的概率. 考虑第i+1张牌: 发动的概率 : p = dp(i, j) * (1 - (1-p[i+1])^j) 没发动的概率 : dp(i, j) * (1 - p[i+1])^j 分别转移到状态: dp(i+1, j-1) dp(i+1, j) 同时假如i+1发动了对答案还有贡献p*d(i+1) 时间复杂度O(NTR) (好像有点不和谐..... ------------------------------------------------…
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已 经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一 下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩家有一套卡牌,共…
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验.  本题中我们将考虑游戏的一个简化版模型.  玩家有一套卡牌,共 n张…
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4008题解: 概率dp,神仙题 如果我们可以求出每种牌被取到的概率f,那么最后期望造成的伤害也就很好计算了. 定义dp[i][j]表示有j轮游戏在1-i中的某张牌处就结束的概率. 那么此时我们考虑dp[i][j]会怎样对f[i+1]造成贡献: 只剩下了R-j轮游戏进行到了第i+1张牌,怎么计算这种情况下第i+1张牌发动技能的概率g呢? (令p为其发动技能的概率,并给这R-j轮游戏重新依次编号…
4008: [HNOI2015]亚瑟王 链接 分析: 根据期望的线性性,直接求出每张牌出现的概率,最后乘以攻击力就是答案. 每张牌出现的概率只与它前面的牌有关,与后面的没有关系,于是按顺序考虑每张牌. $f[i][j]$表示到第i张牌,还剩j次出牌的机会(即轮数)的概率,那么有$f[0][r] = 1.0$,然后考虑如何转移. $f[i][j] = f[i - 1][j] \times (1-p[i])^j + f[i - 1][j + 1] \times (1 - (1 - p[i])^{j+…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4008 这题主要在于:先算概率,再算期望! 一轮一轮的计算似乎很复杂,每一轮它其实是可以看作一次机会 考虑${f[i][j]}$表示已经按照顺序考虑完了第$i$张卡牌,第$i$个人得到了第$j$次机会的概率. 那么${ans=\sum_{i=1}^{n}\sum_{j=1}^{r}f[i][j]*(1-(1-p_i)^{j})*d_i}$//表示$i$利用到了机会. ${f[i][j]=f…
传送门 马上2点考初赛了,心里有点小紧张. 做道概率dp压压惊吧. 话说这题最开始想错了. 最开始的方法是考虑f[i][j]f[i][j]f[i][j]表示第iii轮出牌为jjj的概率. 然后用第iii轮111~j−1j-1j−1都不选的概率与前i−1i-1i−1轮都不选jjj的概率转移. 但这样是错的. 因为两个转移的量是有交集的. 因此需要换一种状态定义方式. 我们考虑f[i][j]f[i][j]f[i][j]表示前iii张出了jjj张的概率(注意是针对所有轮加起来). 然后转移就很easy…
题目大意:很清晰了,不写了. $1\le T\le 444,1\le n\le 220,0\le r\le 132,0<p_i<1,0\le d_i\le 1000$. $p_i$ 和 $d_i$ 随机生成.(然而没什么用) 一直以来还是zz的题最良心. 有个很讨厌的地方是 $r=0$,先判掉.什么mdzz出题人 考虑第 $i$ 张牌最后被翻开的概率 $f_i$.答案为 $\sum f_id_i$. 那 $f_i$ 怎么求?上DP.(smg啊……) 我们把 $r$ 次操作合在一起考虑.$dp[…
题目链接 BZOJ4008 题解 要求所有牌造成伤害的期望,就是求每一张牌发动的概率\(g[i]\) 我们发现一张牌能否发动,还与其前面的牌是否发动有关 那我们设\(f[i][j]\)表示前\(i\)张在\(r\)轮游戏中总共发动了\(j\)张的概率 那么 \[g[i] = \sum\limits_{j = 0}^{min\{i - 1,r\}} f[i - 1][j](1 - (1 - p[i])^{r - j})\] 因为前\(i - 1\)张发动了\(j\)个,一定占用了\(j\)轮,剩余…
题面太长了就不复制了,传送门 一道做了还是很懵逼的题目,感觉以后碰到类似的还是不会,果然HNOI题目很皮. 题解传送 补充一下吧.//感觉他的博客已经写得很好了......Orz 需要的可以两边一起看 1.期望的线性性质 \(E(x+y)=E(x)+E(y)\) //\(x,y\)是两个不同的事件 \(E(kx)=kE(x)\) //(k为常数) 2.单独考虑每张牌的概率的时候,影响其的只有他前面选了几张. 例如在前\(j\)轮里,在牌\(i\)(假设\(i>j\))前面有\(k\)张牌发动了(…
看到这道题想什么? 一个好转移的状态由于T最多444所以把每个点控制在O(400000)以内,所以对于n和r最多乘一次因此猜f[n][r],f[r][n],首先一轮一轮的搞不好转移,那么先想一想f[n][r],如果是从头开始,在转移到下一位的时候,前面的会对后面的有恶心的影响,那么倒着来f[i][j]=(1.0-p[i])j*f[i+1][j]+[1.0-(1.0-p[i])j*(f[i+1][j-1]+d[i]), 现在让我们分析一下呢我们用到了小数点后上百位而没有被卡精的秘诀(巧合),让我们…
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=4008 思路 神仙啊 \(f[i][j]表示第i个点有j次机会(不管成功与否)\) \(f[i][j]=f[i-1][j]*(1-p[i-1])^p\) 第i-1个j次都失败 \(f[i][j]=f[i-1][j+1]*(1-(1-p[i-1]))^{p+1}\) 第i-1个j+1次有一次成功过 1-其他的概率或者orz 等比数列求和 答案就是\(\sum\limits _{1}^ {n…
[HNOI2015]亚瑟王 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩…
[bzoj4008][HNOI2015]亚瑟王 2015年4月22日3,2991 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已 经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一 下当…
[BZOJ4008][HNOI2015]亚瑟王 题面 bzoj 洛谷 题解 由期望的线性性 可以知道,把所有牌打出的概率乘上它的伤害加起来就是答案 记第$i$张牌打出的概率为$fp[i]$ 则 $$ ans=\sum_{i=0}^{n-1}d[i]*fp[i] $$ 题目转化为求所有的$fp[i]$ 如何求呢? 可以容易地知道 $$ fp[0]=1-(1-p[i])^r $$ 这就是所有轮都打不出的概率 那么后面的$fp$怎么办? 发现因为有“打完牌结束该轮”的条件 不好直接算出后面的概率 这时…
[BZOJ4008][HNOI2015]亚瑟王(动态规划) 题面 BZOJ 洛谷 题解 设\(f[i][j]\)表示前\(i\)张卡中有\(j\)张被触发的概率. 分两种情况转移,即当前这张是否被触发. 不被触发的概率是\(\displaystyle (1-p[i])^{r-j}\),即一共会考虑\(r-j\)次,每次都不被触发. 被触发的概率呢?拿不被触发的概率减一下就好了也就是\(1-(1-p[i])^{r-j+1}\). 所以得到转移:\(\displaystyle f[i][j]=f[i…
Luogu_3239 [HNOI2015]亚瑟王 vim-markdown 真好用 这个题难了我一下午 第一道概率正而八经\(DP\),还是通过qbxt讲解才会做的. 发现Sengxian真是个dalao.讲的真是很清楚.代码也比较干净 做题心得: 1.概率和期望联系紧密.若无法直接计算期望,可是用期望的性质,将问题转化为算概率 2.若目标概率无法直接计算,可以通过计算过程中的某个步骤的概率,间接的计算出目标概率 若跟据局面进行状压\(DP\),时间复杂度成熟不起. 考虑优化状态. 发现,对于某…
[BZOJ4008][HNOI2015]亚瑟王 Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已 经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一 下当欧洲人是怎样的体验. 本题中我们将…
[HNOI2015]亚瑟王 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的. 作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩家有一套卡牌…
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已 经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一 下当欧洲人是怎样的体验.  本题中我们将考虑游戏的一个简化版模型.  玩家有一套卡牌,…
题面:亚瑟王 最近考试考期望很自闭啊,没做过这种类型的题,只能现在练一练: 所谓期望,就是状态乘上自己的概率:对于这道题来说,我们要求的是每张牌的伤害乘上打出的概率的和: 当然不是直接乘,因为给的是每轮中这张牌打出的概率,这张牌没打出就要考虑下一张牌,要有一张牌发出技能才能结束一轮:除非一张牌都发不出来: 设每张牌打出的概率是exp[],答案就是exp[i]*d[i]; exp[i]怎么求? 我们要始终在概率面前一视同仁: 因为牌只有出和不出两种状态,概率和为1: exp[1]=1-(1-p[1…
???看不懂的期望DP 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly 都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩家有一套卡牌,…
这个题一看就是期望dp,但是我有个问题,一个事件的期望等于他所有事件可能行乘权值的和吗...为什么我有天考试的时候就不对呢...求大佬解释一下. 至于这道题,f[i][j]代表前i个有j个发动技能,这个题的关键在于其实人和人之间发技能的顺序无所谓,重点在于最终r轮之后发没发技能,所以r轮只是一个用于计算可能性的东西,我们不去枚举它,这样的话这道题就很好想了,这个题也算是套路吧. 题干: 题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后…
LINK:亚瑟王 Saber!Excalibur! 比较难的期望dp. 可以发现如果暴力枚举所有的局面复杂度很高 . 转换的思路则是 期望的线性性. 求出每张牌的期望累加即可. 考虑每张牌的期望=这张牌使用的概率*这张牌造成的伤害. 容易得到第一张牌使用的概率=\(p_1+(1-p_1)p_1+(1-p_1)^2p_1+...\) 等比数列求和后容易得到 \(1-(1-p_1)^r\) 同样 我们使用容斥也可以得到上述结果. 接下来需要求出其他牌的概率.由于题目中的条件 使用了一张牌后就结束本局…
Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special JudgeSubmit: 1952  Solved: 1159[Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer…
Time Limit: 20 Sec  Memory Limit: 512 MBSec  Special Judge Submit: 1009  Solved: 605[Submit][Status][Discuss] Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的.作为一个非 洲人,同时作为一个前 OIer…
题目描述 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑.他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂亮.众所周知,亚瑟王是一个看脸的游戏,技能的发动都是看概率的. 作为一个非洲人,同时作为一个前 OIer,小 K 自然是希望最大化造成伤害的期望值.但他已经多年没写过代码,连 Spaly都敲不对了,因此,希望你能帮帮小 K,让他感受一下当欧洲人是怎样的体验. 本题中我们将考虑游戏的一个简化版模型. 玩家有一套卡牌,共 n张.游戏时,玩家将…
对于这种看起来就比较傻逼麻烦的题,最关键的就是想怎么巧妙的设置状态数组,使转移尽可能的简洁. 一开始我想的是f[i][j]表示到第j轮第i张牌还没有被选的概率,后来发现转移起来特别坑爹,还会有重的或漏的情况. 于是改变想法:f[i][j]表示考虑到前i张牌,还剩j轮的概率 转移也就简单了,下一张牌有两种可能,选或不选: f[i+1][j]=f[i][j]*(1-p[i+1])^j f[i+1][j-1]=f[i][j]*(1-(1-p[i+1])^j) #include<cstdio> #in…
当初怎么想的来着.....又忘了...... 首先,总期望 = 每张卡片的期望之和 求期望,只要我们求出每张卡片被用掉的概率即可 如果直接上状态$f[i][j]$表示在第$i$轮中,第$j$张牌发动的概率 可以发现转移很困难......然而作死的我还是写了一个,$f[i][j] = \prod_{k = 1}^{j - 1} (1 - f[i][k])(1 - \sum\limits_{k = 1}^{i - 1} f[k][j])p[j]$ 嗯.........复杂度$O(Tnr)$看起来很靠…