概率期望入土实况(更新中)
概率期望一直是一个弱项,NOIP 前有必要系统重新学一遍。
下面记一下重学概率期望过程中做的题。
AcWing 216
基础中的基础。每一位贡献独立,因此把每个数拆开处理。
三种运算不同处理方式:\(\text{xor}\) 可以记前缀和,\(\text{and}\) 可以找左侧第一个 \(0\),\(\text{or}\) 可以找左侧第一个 \(1\)。
注意去掉每个数和自身重复计算的贡献。
AcWing 217 / Luogu P4316
经典启蒙题。正着算需要记录一下走到当前状态的概率,简单一些的方式是建反图倒着推。
注意这个倒着推的性质很有用,这种方式在一些题目中可以直接绕过一些复杂概率的计算。
忘了来源的简单题
求一个随机排列的逆序对期望。考虑每一对 \((i,j)\) 产生贡献的期望是 \(\frac{1}{2}\),答案为 \(\frac{n(n-1)}{4}\)。
CF1540B
枚举第一个点,然后枚举点对 \((x,y),x>y\)。发现 \(x\) 在 \(y\) 前的概率只与它们到 \(\text{LCA}\) 的距离有关。
设 \(f_{i,j}\) 表示 \(x,y\) 到 \(\text{LCA}\) 距离分别为 \(i,j\) 时的概率。这玩意是一些组合数乘上系数加起来的形式,可以递推。
\(\text{LCA}\) 可预处理,总复杂度 \(O(n^3)\)。
CF1523E
设 \(p_i\) 表示点亮 \(i\) 盏灯后结束的概率,则 \(E=\sum p_ii\)。对 \(p\) 作后缀和,则 \(E=\sum s_i\)。
考虑到 \(s_i\) 是有组合意义的,插板法算答案即可。
Luogu P4562
发现有一些数是一定有贡献的,可以 \(O(n\log\log n)\) 筛出这些数字,也可以 \(O(r)\) 线性筛最小质因数,不过难写而且跑得慢。
之后有两种视角,组合计数视角显然。
概率视角:设共有 \(k\) 个关键数字,只有最靠后的关键位置是有贡献的。这个位置的期望是 \(\frac{\sum\limits_{i=k}^ni\binom{i-1}{k-1}}{\binom{n}{k}}\),化简得 \(\frac{k(n+1)}{k+1}\)(听说这玩意有个学名叫什么均匀分布),乘上 \(n!\) 分配标号即可。
Luogu P6834
发现当 \(a_i>a_{fa_i}\) 时会产生这两点权值差的操作次数。因此两个树状数组维护 \([i-k,i-1]\) 这段带有每种权值的元素个数和权值和即可。
Luogu P6835
设 \(f_x\) 表示 \(x\to(x+1)\) 的期望步数,则有 \(f_x=\frac{1}{oud_x+1}+\frac{1}{oud_x+1}\sum\limits_{e(x,y)}sf_x-sf_{y-1}\),把前缀和中的 \(f_x\) 提出来,移项化简得 \(f_x=oud_x+1+\sum\limits_{e(x,y)}sf_{x-1}-sf_{y-1}\),由期望线性性得 \(ans=sf_n\)。
CF280C
每个点对操作次数贡献的期望是 \(\frac{1}{dep_u}\),都加起来即可。
Luogu P3239
还记得绿豆蛙那题的倒推思想么?这题正着做要同时 \(\text{DP}\) 出概率,巨大困难,我们反着来。设 \(f_{i,j}\) 表示 \([i,n]\) 这段共进行 \(j\) 轮的期望答案。发现这个状态有 \((1-p_i)^j\) 的概率直接转移到 \(f_{i+1,j}\),有 \([1-(1-p_i)^j]\) 的概率去掉 \(i\) 的贡献之后转移到 \(f_{i+1,j-1}\)。
然后做完了。
Luogu P4284
一开始想了什么神必联通块做法,麻烦。
考虑 \(\text{up and down DP}\),第一次考虑子节点对当前点的影响。第二遍考虑当前点对子节点造成的影响。
注意第二遍扫描时,更新某个子节点时要去掉该节点自身的贡献。需要解个方程。
解方程过程中特判分式无意义的情况,不更新但继续递归。
Luogu P3830
\(q=1\) 时直接递推即可。
\(q=2\) 时设 \(f_{i,j}\) 表示 前 \(i\) 个叶子节点,深度不超过 \(j\) 的概率。转移枚举左子树的叶节点个数。\(ans=\sum i(f_{n,i}-f_{n,i-1})\)。
以下是两道之前做过的题目,还没施工完毕,待补充