Min-Max 容斥学习笔记
\(\text{Min-Max}\) 容斥学习笔记
概念
\(\text{Min-Max}\) 容斥,又称最值反演,是一种对于特定集合,在已知最小值或最大值中一者的情况下,求另一种的算法。首先观察几个式子:
显然对所有数取相反数,易知用最大值求最小值的公式与用最小值求最大值的公式形式相同,故以下只探讨用最小值求最大值。通过观察可以写出以下式子
其中 \(\text{Max}(S)\) 表示集合 \(S\) 中元素的最大值,\(\text{Min}(S)\) 表示集合 \(S\) 中元素的最小值。
证明:
设存在一个以集合大小为自变量的函数 \(f\) 满足 \(\text{Max}(S)=\sum_{T\subset S,T\ne\varnothing}f(|T|)\text{Min}(T)\),并记 \(S\) 中元素从大到小排列为 \(x_1,x_2,\cdots,x_m\),则对于 \(x_i\),其在左侧的贡献次数为 \([i=1]\),在右侧的贡献次数为 \(\sum_{j=0}^{i-1}{i-1\choose j}f(j+1)\)。若等式成立,则必有
设 \(F(i)=[i+1=1],G(i)=f(i+1)\),则
对这个式子进行二项式反演,得到
所以 \(f(i)=G(i-1)=(-1)^{i-1}\),于是有
拓展
记 \(k\text{Max}(S)\) 表示集合 \(S\) 的 \(k\) 大值,则
证明:
设存在一个以集合大小为自变量的函数 \(g\) 满足 \(k\text{Max}(S)=\sum_{T\sub S,T\ne\varnothing}g(|T|)\text{Min}(T)\),并记 \(S\) 中元素从大到小排列为 \(x_1,x_2,\cdots,x_m\),则对于 \(x_i\),其在左侧的贡献次数为 \([i=k]\),在右侧的贡献次数为 \(\sum_{j=0}^{i-1}{i-1\choose j}g(j+1)\),若等式成立,则必有
设 \(F(i)=[i+1=k],G(i)=g(i+1)\),则
进行二项式反演可得
故 \(g(i)=G(i-1)=(-1)^{i-k}{i-1\choose k-1}\),于是有
应用
\(\text{Min-Max}\) 容斥常见于期望问题,具体表现为所有元素均出现的期望时间。记 \(t_i\) 表示第 \(i\) 个元素的出现时间,则 \(\text{Max}(S)\) 表示所有元素出现时间的最大值,即所有元素都出现的时间,而 \(\text{Min}(S)\) 表示所有元素出现时间的最小值,即至少一个元素出现的时间。根据 \(\text{Min-Max}\) 容斥,有
对左右两边同时取期望,因为期望是线性的,所有可以放到求和里,即
容易发现 \(E(\text{Min}(T))\) 是好求的,当单位时间出现 \(T\) 中至少一个的概率为 \(p\),则出现 \(T\) 中至少一个的期望时间为 \(\frac{1}{p}\)。于是容易求出 \(E(\text{Max}(S))\),即所有元素都出现的期望时间。
同时,在数论题目中,可以考虑到 \(\text{lcm}\) 相当于将所有数的质因子的指数取 \(\max\),而 \(\gcd\) 则相当于取 \(\min\),因此在同时出现 \(\text{lcm}\) 与 \(\gcd\) 的题目中也应当想到如此转换。