首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
loj2513 治疗之雨
】的更多相关文章
loj2513 治疗之雨
题意:你的英雄一开始血量为p,你还有m个队友,血量无穷.血量上限为n,下限为0.如果血量满了就不能加血.每次启动操作,随机给m+1个英雄加1点血,然后等概率随机k次每次对于英雄扣1点血.求期望操作几次你的英雄没血? n,m,p<=1500. 标程: #include<bits/stdc++.h> using namespace std; typedef long long ll; ; ; int n,p,m,k,f[N],inv[N],g[N][N],ans[N]; int ksm(in…
【BZOJ5292】[BJOI2018]治疗之雨(高斯消元)
[BZOJ5292][BJOI2018]治疗之雨(高斯消元) 题面 BZOJ 洛谷 题解 设\(f[i]\)表示剩余\(i\)点生命时的期望死亡的次数. 考虑打\(k\)次下来脸上被打了\(i\)下的概率:\(\displaystyle \frac{{k\choose i}m^{k-i}}{(m+1)^k}\). \(m=0\)时全部打脸上了,直接判掉. 设\(P[i][j]\)表示\(i\)点血量奶完后再被打一轮下来变成\(j\)点血的概率,这个很容易算出来. 那么我们可以列出和\(f[i]\…
BZOJ5292 & 洛谷4457 & LOJ2513:[BJOI2018]治疗之雨——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5292 https://www.luogu.org/problemnew/show/P4457 https://loj.ac/problem/2513 你现在有m+1个数:第一个为p,最小值为0,最大值为n:剩下m个都是无穷,没有最小值或最大值. 你可以进行任意多轮操作,每轮操作如下: 在不为最大值的数中等概率随机选择一个(如果没有则不操作),把它加一: 进行k次这个步骤:在不为最小值的数中等概率…
【LOJ2513】「BJOI2018」治疗之雨
题意 你现在有 \(m+1\) 个数:第一个为 \(p\) ,最小值为 \(0\) ,最大值为 \(n\) :剩下 \(m\) 个都是无穷,没有最小值或最大值.你可以进行任意多轮操作,每轮操作如下: 在不为最大值的数中等概率随机选择一个(如果没有则不操作),把它加一: 进行 \(k\) 次这个步骤:在不为最小值的数中等概率随机选择一个(如果没有则不操作),把它减一. 现在问期望进行多少轮操作以后第一个数会变为最小值 \(0\). \(1 \leq p \leq n \leq 1500\) ,\(…
【LOJ】#2513. 「BJOI2018」治疗之雨
题解 具体就是列一个未知数方程\(dp[i]\)表示有\(i\)滴血的时候期望多少轮 \(dp[i] = 1 + \sum_{j = 1}^{i + 1} a_{i,j}dp[j]\) \(dp[n] = 1 + \sum_{j = 1}^{n} a_{i,j}dp[j]\) \(a_{i,j}\)表示从\(i\)滴血到\(j\)滴血的概率 可以高斯消元? 但是发现这个似乎和递推形式只差一点点 \(a_{i,i + 1} dp[i + 1] = -1 - \sum_{j = 1}^{i - 1}…
[BZOJ5292][BJOI2018]治疗之雨(概率DP+高斯消元)
https://blog.csdn.net/xyz32768/article/details/83217209 不难找到DP方程与辅助DP方程,发现DP方程具有后效性,于是高斯消元即可. 但朴素消元显然无法通过,注意到f[i]的方程至多与f[i+1]有关,于是从下往上依次消去最后一个数,剩下的就是一个下三角,直接求解即可. 注意中间与指数有关的计算能预处理的就不用快速幂,以及阶乘等值可以在程序开头预处理. 复杂度$O(n^2)$,不知道为什么和别人的代码相比常数巨大. #include<cstd…
luoguP4457 [BJOI2018]治疗之雨 概率期望 + 高斯消元
应该是最后一道紫色的概率了....然而颜色啥也代表不了.... 首先看懂题意: 你现在有$p$点体力,你的体力上限为$n$ 在一轮中, 1.如果你的体力没有满,你有$\frac{1}{m + 1}$的几率回复一点体力 2.紧接着有$k$轮攻击,每轮攻击都有$\frac{1}{m + 1}$的几率使你掉一点体力 如果一轮后,你的体力$ \leq 0$,那么游戏结束 询问游戏结束的期望轮数 看懂题应该就懂了什么吧.... 设状态$f[i]$表示生命值为$i$游戏结束的期望轮数 那么 $$f[i] =…
[BJOI2018]治疗之雨
题目 我还没疯 发现如果我们将血量抽象成点,一轮操作抽象成图上的一条边,我们如果能求出每一条边的概率,我们就能搞一下这道题 假设我们求出了这个图\(E\),设\(dp_i\)表示从\(i\)点到达\(0\)点的期望路径长度 那么我们可以列出如下的方程 \[dp_u=\sum_{(u,v)\in E}P(u,v)\times(dp_v+1)\] 发现这个方程可以高斯消元来做 问题变成了如何求出这张图 我们如求出了经过\(k\)次减小的操作,血量\(i\)变成血量\(j\)的概率是多少,我们讨论一下…
[BZOJ5292] [BJOI2018]治疗之雨
题目链接 BZOJ:https://lydsy.com/JudgeOnline/problem.php?id=5292 洛谷:https://www.luogu.org/problemnew/show/P4457 LOJ:https://loj.ac/problem/2513 Solution 神仙期望题(可能是我期望太差了QAQ) 这题看懂题可能占了\(50\%\)的难度.... 题目中的最大值最小值指的是上限和下限,我就是因为这个懵了好久...那么容易发现其他的怪你\(A\)多少下或者奶多少…
洛谷P4457/loj#2513 [BJOI2018]治疗之雨(高斯消元+概率期望)
题面 传送门(loj) 传送门(洛谷) 题解 模拟赛的时候只想出了高斯消元然后死活不知道怎么继续--结果正解居然就是高斯消元卡常? 首先有个比较难受的地方是它一个回合可能不止扣一滴血--我们得算出\(P_i\)表示一回合扣\(i\)滴血的概率,为 \[P_i={{k\choose i}m^{k-i}\over (m+1)^k}\] 所以这个柿子啥意思? 我们可以把\(k\)次扣血看成一个长度为\(k\)的序列,每个序列有\(m+1\)种选择方法,于是总的选法就是\((m+1)^k\).我们要钦定…