首页 > 其他 > 详细

bzoj5292:[Bjoi2018]治疗之雨

时间:2019-04-02 22:38:56      阅读:144      评论:0      收藏:0      [点我收藏+]

首先设\(m\)为随从个数,\(k\)为暗影打击装甲的个数,\(p\)为剩余生命值,\(n\)为生命上限

然后考虑每个回合受到伤害,设\(A_i\)为每个回合被攻击\(i\)次的概率
\[ A_i=C^{i}_{k}*(\frac{1}{m+1})^i*(\frac{m}{m+1})^{k-i}\\]
然后考虑答案,我们设\(F_i\)为当前有\(i\)滴血被干掉的期望回合数,再设\(g_i\)为当前回合打出超过\(i\)滴血的概率,容易得出
\[ F_i=\frac{1}{m+1}(g_{i+1}+\sum_{j=0}^{i}A_{j}(F_{i+1-j}-1))+\frac{m}{m+1}(g_i+\sum_{j=0}^{i-1}A_j(F_{i-j}+1))\F_i=\frac{1}{m+1}(1+\sum_{j=0}^{i}A_{j}F_{i+1-j})+\frac{m}{m+1}(1+\sum_{j=0}^{i-1}A_jF_{i-j})\\]

好像没有什么问题,但是还得考虑满血的情况,这个时候是回不上血的

所以最后得出来
\[ i!=n:\F_i=\frac{1}{m+1}(1+\sum_{j=0}^{i}A_{j}F_{i+1-j})+\frac{m}{m+1}(1+\sum_{j=0}^{i-1}A_jF_{i-j})\i==n:\F_n=1+\sum_{j=0}^{n-1}A_jF_{n-j} \]
然后考虑概率期望的通常做法:高斯消元

由于\(n=1500\),高斯消元显然会TLE

bzoj5292:[Bjoi2018]治疗之雨

原文:https://www.cnblogs.com/lcxer/p/10645795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!