min-max 容斥

前置知识

请牢记二项式定理:
\((a+b)^n = \sum\limits_{i=0}^{n}{\dbinom{n}{i}a^{n-i}b^i}\)

或另外一种形式:
\((a+1)^n = \sum\limits_{i=0}^{n}{\dbinom{n}{i}a^{n-i}} = \sum\limits_{i=0}^{n}{\dbinom{n}{i}a^{i}}\)

min-max 容斥

学习

min-max 容斥的主要思想是给每个子集分配一个系数(然后每个属于子集的 \(a_i\) 的系数加上该系数),使得 \(S\) 的最大值 \(a_i\) 的系数为 \(1\),其余为 \(0\)

问:一个集合 \(S\),每次可以询问一个子集的 min 值,如何求 \(S\) 的 max 值?

\(S\) 的 max 等于 \(\sum\limits_{T\subseteq S}{(-1)^{|T| - 1}min(T)}\)

证明:

  • 假设 \(S\) 是从大到小排序的,长度为 \(n\)
  • 那么 \(T\subseteq S\) 满足 \(min(T) = a_k\) 的系数之和(\((-1)^{|T| - 1}\))是多少?
  • \(\sum_{l = 0}^{k - 1}{\dbinom{k-1}{l}(-1)^{l}}\)
  • 注意到这就是二项式定理,等于 \((-1+1)^{k-1}\),即 \(0^{k-1}\)
  • 显然只有当 \(k = 1\) 的时候(即最大值)系数之和为 \(1\),其他都是 \(0\)

注意到 min-max 容斥的原理是配系数,而期望可以加和,所以有套期望的 min-max 容斥公式(\(E\) 表示期望):

\(E(max(S)) = \sum\limits_{T\subseteq S}{(-1)^{|T| - 1}E(min(T))}\)

min-max 容斥的 \(min\)\(max\) 反过来同理。

练习

如果题目说求 “所有都到达的期望步数” 或 “至少到达一个的期望步数” 等类似的话,都应该考虑一下 min-max 容斥。

拓展 min-max 容斥

学习

蒟蒻不太懂证明。

\(E(max(S)) = \sum\limits_{T\subseteq S 且 |T| \ge k}{(-1)^{|T| - 1}\dbinom{|T|-1}{k-1}E(min(T))}\)

https://www.luogu.com.cn/article/t2zqvdou 里有证明

练习

posted @ 2024-08-07 16:40  hhhqx  阅读(24)  评论(0)    收藏  举报