Min-Max 容斥
Min-Max 容斥
就是两个东西:
证明第一个。
将 \(U\) 降序排序,第 \(k\) 大即为 \(a_k\)。
考虑 \(\min(T)=a_k\) 的 \(k\) 的情况。
若 \(k=1\),只有 \(T=\{a_1\}\),贡献为 \(a_1\)。
若 \(k>1\),集合内只能存在 \(a_1,\dots,a_k\),\(a_1,\dots,a_{k-1}\) 共 \(2^{k-1}\) 种选法,分别有 \(2^{k-2}\) 种 \(|T|\) 为奇数和偶数的情况,贡献为 \(0\)。
得证。第二个同理。
Min-Max 容斥在期望下也成立:
考虑
\[E\left(\max_{i\in S}{x_i}\right)=\sum_{y}{P(y=x)\max_{j\in S}{y_j}} \]其中 \(y\) 是一个长度为 \(n\) 的序列。
\[\begin{aligned}E\left(\max_{i\in S}{x_i}\right)&=\sum_{y}{P(y=x)\max_{j\in S}{y_j}}\\ &=\sum_{y}{P(y=x)\sum_{T\subseteq S}{(-1)^{|T|-1}\min_{j\in T}{y_j}}}\\&=\sum_{y}{P(y=x)\sum_{T\subseteq S}{(-1)^{|T|-1}\min_{j\in T}{y_j}}}\\ &=\sum_{T\subseteq S}{(-1)^{|T|-1}\sum_y{P(y=x)\min_{j\in T}{y_j}}}\\ &=\sum_{T\subseteq S}{(-1)^{|T|-1}E\left(\min_{j\in T}{y_j}\right)} \end{aligned} \]得证。\(\min\) 同理。
加强形式
证明第一个。
设 \(U=\{a_n\}\) 是不降序列,则
\[\begin{aligned} \sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1}\min_{j\in T}x_j & =\sum_{i\in S}x_i\sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1 \choose k-1}\Big[x_i=\min_{j\in T}x_j\Big] \\ & =\sum_{i\in S}x_i\sum_{j=k}^{n}{n-i \choose j-1}{j-1 \choose k-1}(-1)^{j-k} \end{aligned} \]利用恒等式 \(\displaystyle {a\choose b}{b\choose c}={a\choose c}{a-c\choose b-c}\):
\[\begin{aligned} \sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1}\min_{j\in T}x_j & =\sum_{i\in S}x_i\sum_{j=k}^{n}{n-i\choose k-1}{n-i-k+1\choose j-k}(-1)^{j-k} \\ & =\sum_{i\in S}{n-i \choose k-1}x_i\sum_{j=k}^{n}{n-i-k+1\choose j-k}(-1)^{j-k} \\ & =\sum_{i\in S}{n-i\choose k-1}x_i\sum_{j=0}^{n-i-k+1}{n-i-k+1\choose j}(-1)^j \end{aligned} \]当 \(n-i-k+1=0\) 即 \(i=n-k+1\) 时:
\[{n-i\choose k-1}\sum_{j=0}^{n-i-k+1}{n-i-k+1\choose j}(-1)^j=1 \]否则该式为 \(0\),故
\[\sum_{i\in S}{n-i\choose k-1}x_i\sum_{j=0}^{n-i-k+1}{n-i-k+1\choose j}(-1)^j=\underset{i\in S}{\operatorname{kthmax}}x_i \]得证。其余同理。
还有这样一个式子:
由于 \(\operatorname{lcm},\gcd,a^1,a^{-1}\) 相当于 \(\max,\min,+,-\),等同于对指数做 Min-Max 容斥。
P3175 [HAOI2015] 按位或
初始 \(x=0\),不断随机 \(y\in[0,2^n-1]\),令 \(x\leftarrow x\operatorname{or} y\),其中选到 \(i\) 的概率为 \(p_i\),\(\sum p_i=1\)。
问 \(x=2^n-1\) 的期望步数。
\(n\le 20\),精度要求 \(10^{-6}\)。
Min-Max 容斥,观察
将 \(E(\max(S))\) 视为集合 \(S\) 二进制下 \(1\) 的最晚期望出现时间,\(E(\min(S))\) 视为 \(1\) 的最早期望出现时间。
怎么求 \(E(\min(S))\),其实满足选到了和 \(S\) 有交的数即可,那么
把这个变成无交,枚举补集 \(S'\) 的子集:
求出和式,FWTOR 即可。
P7360 「JZOI-1」红包
多测,求
\(n\le 10^6\),\(k\le 10^{100}\),\(T\le 10^3\)。
首先用 Min-Max 容斥拆掉 \(\operatorname{lcm}\):
观察和式,枚举 \(|T|\):
其中 \(F(n,j)\) 是所有值域 \([1,n]\) 的 \(j\) 元组的 \(\gcd\) 之积。
观察所有 \(j\) 对每个 \(T\) 的贡献,发现就是把所有指数加起来。
厉害二项式定理。\(O(n\log n+T\sqrt{n}\log V)\),注意要降两次幂。
[ABC331G] Collect Them All
\(m\) 个数字,抽到数字 \(i\) 的概率为 \(\dfrac{c_i}{n}\),其中 \(n=\sum c_i\),问抽到所有数字至少一次的期望次数。答案模 \(998244353\)。
\(1\le m\le n\le 2\times 10^5\)。
设 \(t_i\) 为第一次拿到 \(i\) 的时间,即求 \(E(\max\limits_{i=1}^{m}t_i)\)。
记 \(\displaystyle f_k=\sum_{\sum_{j\in T}c_j=k}(-1)^{|T|-1}\),可得
构造 \(\displaystyle F(x)=-\prod_{i=1}^{m}(1-x^{a_i})\) 即可。
这是经典形式,\(\ln\) 后 \(\exp\) 即可,时间复杂度 \(O(n\log n)\)。
*P4707 重返现世
\(n\) 个数,抽到数字 \(i\) 的概率为 \(\dfrac{p_i}{m}\),其中 \(m=\sum p_i\),问抽到 \(k\) 个数字的期望时间。答案模 \(998244353\)。
\(n\le 1000\),\(1\le k\le n\),\(n-k\le 10\),\(1\le m\le 10^4\)。
令 \(k\leftarrow n-k+1\),则 \(k\le 11\)。转化为 kthmax,套用式子
考虑对每个 \(j\) DP 这个东西,但是状态不能是 \(O(n^2m)\) 的,由于
于是对每个 \(k\) 记录和式的值。
设 \(f_{i,j,l}\) 表示考虑了前 \(i\) 个数,\(\sum p_i=j\) 时,\(\displaystyle \sum(-1)^{|T|-k}{|T|-1\choose l-1}\) 的值。
若不选择 \(i+1\),\(f_{i+1,j,l}\leftarrow f_{i,j,l}\)。
若选择 \(i+1\),\(f_{i+1,j+p_i,l}\leftarrow -(f_{i,j,l}+f_{i,j,l-1})\)。
答案为 \(\displaystyle m\cdot \sum_{i=1}^{m}\frac{f(n,i,k)}{i}\)。
时间复杂度 \(O(nm(n-k))\),要滚动掉数组的一维。

浙公网安备 33010602011771号