min-max 容斥简述
作者:互联网
min-max 容斥实际上就是这么个式子:
\[\max(S_k) = \sum\limits_{T\subseteq S} (-1)^{|T|-k}\dbinom{|T|-1}{k-1}\min(T) \]可以通过构造系数二项式反演证明。
这个式子在期望意义下也是正确的,通常用于将搞定全部
转化位搞定其中一个
进而转化为不包含某个子集
的方案计数,或找完的时间
转化为第一次找到的时间
。由于直接根据式子算是指数级的,通常还需要一些 dp 之类转化。
P4707 重返现世
有 \(n\) 种原料,需要集齐任意 \(k\) 种。每单位时间第 \(i\) 种原料被生成的概率是 \(\frac{p_i}{m}\) 。求期望时间。
- \(n\le 1000\),\(|n-k|\le 10\),\(\sum p = m\le 10000\)
即求 \(E(\min(U_k))\),即 \(E(\max(U_{n-k+1}))\)。使用 min-max 容斥,我们需要求求和号后的东西。\(E(\min(T))\) 是好算的:\(\dfrac{m}{\sum_{i\in T} p_i}\),剩下的部分只与 \(|T|,k\) 有关,以此为状态 dp,通过拆组合数转移。
「PKUWC2018」随机游走
给定一棵 \(n\) 个结点的树,你从点 \(x\) 出发,每次等概率随机选择一条与所在点相邻的边走过去。
有 \(Q\) 次询问,每次询问给定一个集合 \(S\),求如果从 \(x\) 出发一直随机游走,直到点集 \(S\) 中所有点都至少经过一次的话,期望游走几步。
特别地,点 \(x\)(即起点)视为一开始就被经过了一次。
min-max 容斥后转化为求第一次到达某个点集的期望时间,可以列出一个随机游走的转移,用树上高消解出系数即可。还要求子集和,FWT 预处理即可。
「2020-02-16 联考」染色 (color)
有一棵 \(n\) 个点的树,一开始所有点都是白色。
接下来有若干次操作。每次操作会等概率选取树上的一条路径,把路径上所有节点涂黑。当整棵树都被染黑时,操作就会停止。
求结束前期望进行多少次操作,答案输出时对 \(1\ 004\ 535\ 809\ (479\times 2^{21}+1)\) 取模。
min-max 容斥,相当于在树上选 \(k\) 个点,将树分成若干连通块,每条路径在小连通块内选的概率,需要记录连通个数和 \(\sum \dfrac{|B|(|B|+1)}2\),树上背包 dp 这个东西即可。可以 NTT 优化。
标签:期望,min,max,sum,容斥,游走 来源: https://www.cnblogs.com/defK/p/16033132.html