Min-Max 容斥
概念
Min-Max 容斥是一种用于转化 Min/Max 的技巧,通常用于对 Min/Max 进行计数 / 期望一类的题目中。
能用 Min-Max 容斥解决的题目数据范围一般较小。
假设现在有全集 \(U\),令 \(\min(S)\) 为集合 \(S\) 中元素的最小值,\(\max(S)\) 同理。
Min-Max 容斥可以在容易求得任意集合的 \(\min\) 时求出任意集合的 \(\max\),反之亦然。
因为和子集有关,所以能和高维前缀和 / FWT 一类的东西一起用。同时因为这个原因复杂度极高,或许可以用 dp 一类的东西快速维护子集信息。
结论
\(\max(S) = \sum\limits_{T \subseteq S} (-1)^{|T| + 1} \min(T)\)
证明:
首先假设 \(U\) 内元素各不相同,不影响结论正确性。
不妨对 \(U\) 降序排列,令 \(A_k\) 为此时 \(U\) 中的第 \(k\) 个元素。
令 \(\min(T) = A_k\),考虑可能的 \(T\):
-
\(k = 1\)
此时 \(\min(T) = \max(T)\),贡献为 \((-1)^{1 + 1} \min(T) = \max(T)\)
-
\(k > 1\)
因为 \(\min(T) = A_k\),所以此时 \(T\) 只能包含 \(A_1, ..., A_k\) 中的元素。同时 \(A_k\) 已经钦定在 \(T\) 中。
剩余的元素有 \(2^{k - 1}\) 种选法,其中有 \(2^{k - 2}\) 种情况 \(|T|\) 为奇数,\(2^{k - 2}\) 种情况 \(|T|\) 为偶数,贡献抵消。
所以原式成立。
\(\min\) 转 \(\max\) 的结论是对称的,即 \(\min(S) = \sum\limits_{T \subseteq S} (-1)^{|T| + 1} \max(T)\).
同时原式在期望意义下同样成立,即 \(E(\max(S)) = \sum\limits_{T \subseteq S} (-1)^{|T| + 1} E(\min(T))\)
扩展 Min-Max 容斥
考虑将 \(\max(S)\) 改为 \(\operatorname{kthmax}(S)\),也就是求第 \(k\) 大。
结论是 \(\operatorname{kthmax}(S) = \sum\limits_{T \subseteq S} (-1)^{|T| - k} {|T| - 1 \choose k - 1} \min(T)\).
证明:
还是考虑构造容斥形式的式子,不妨设出每个子集的贡献系数 \(F(|T|)\).
所以最终的结论应该形如:\(\operatorname{kthmax}(S) = \sum\limits_{T \subseteq S} F(|T|) \min(T)\).
假设某个元素 \(x\) 为第 \(p\) 大。
同理当且仅当比它小的 \(n - p\) 个元素时 \(\min(T) = x\),并且钦定 \(x\),前面有 \(p - 1\) 种元素可以任意选。
于是贡献系数为 \(\sum\limits_{i = 1}^{p - 1} {p - 1 \choose i} F(i + 1)\).
只需要令上式等价于 \([p = k]\) 就可以使结论成立,整理得到:
\(\sum\limits_{i = 1}^p {p \choose i} F(i + 1) = [p = k - 1]\).
令 \(G(p) = [p = k - 1]\),发现是二项式反演的形式,反演得到:
\(F(p + 1) = \sum\limits_{i = 1}^p (-1)^{p - i} {p \choose i} [i = k - 1] = (-1)^{p - k + 1} {p \choose k - 1}\).
整理得 \(F(p) = (-1)^{p - k} {p - 1 \choose k - 1}\).
于是原式成立。
代入 \(k = 1\) 时发现等价于普通 Min-Max 容斥的结论。