Min-Max 容斥

Min-Max 容斥

就是两个东西:

\[\max(S)=\sum_{T\subseteq S}(-1)^{|T|-1}\min(T) \]

\[\min(S)=\sum_{T\subseteq S}(-1)^{|T|-1}\max(T) \]

证明第一个。

\(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(\max(S))=\sum_{T\subseteq S}(-1)^{|T|-1}E(\min(T)) \]

\[E(\min(S))=\sum_{T\subseteq S}(-1)^{|T|-1}E(\max(T)) \]

考虑

\[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\) 同理。

加强形式

\[\operatorname{kthmax}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1} \min(T) \]

\[\operatorname{kthmin}(S)=\sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1} \max(T) \]

\[E(\operatorname{kthmax}(S))=\sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1} E(\min(T)) \]

\[E(\operatorname{kthmin}(S))=\sum_{T\subseteq S}(-1)^{|T|-k}{|T|-1\choose k-1} E(\max(T)) \]

证明第一个。

\(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 \]

得证。其余同理。

还有这样一个式子:

\[\underset{i\in S}{\operatorname{lcm}}x_i=\prod_{T\subseteq S}\Big(\gcd_{j\in T}x_j\Big)^{(-1)^{|T|-1}} \]

由于 \(\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))=\sum_{T\subseteq S}(-1)^{|T|+1}E(\min(T)) \]

\(E(\max(S))\) 视为集合 \(S\) 二进制下 \(1\) 的最晚期望出现时间,\(E(\min(S))\) 视为 \(1\) 的最早期望出现时间。

怎么求 \(E(\min(S))\),其实满足选到了和 \(S\) 有交的数即可,那么

\[E(\min(S))=\frac{1}{\sum_{T\cap S \ne\varnothing}P(T)} \]

把这个变成无交,枚举补集 \(S'\) 的子集:

\[E(\min(S))=\frac{1}{1-\sum_{T\subseteq S'}P(T)} \]

求出和式,FWTOR 即可。

record


P7360 「JZOI-1」红包

多测,求

\[\prod_{i_1=1}^{n}\prod_{i_2=1}^{n}\cdots\prod_{i_k=1}^{n}\operatorname{lcm}(i_1,i_2,\dots,i_k)\pmod {998244353} \]

\(n\le 10^6\)\(k\le 10^{100}\)\(T\le 10^3\)


首先用 Min-Max 容斥拆掉 \(\operatorname{lcm}\)

\[\operatorname{lcm}(S)=\prod_{T\subseteq S}\gcd(T)^{-1^{|T|-1}} \]

观察和式,枚举 \(|T|\)

\[\prod_{j=1}^{k}F(n,j)^{(-1)^{j-1}{k\choose j}n^{k-j}} \]

其中 \(F(n,j)\) 是所有值域 \([1,n]\)\(j\) 元组的 \(\gcd\) 之积。

\[\begin{aligned} F(n,m) & =\prod_{i_1=1}^{n}\cdots\prod_{i_m=1}^{n}\gcd(i_1,\dots,i_m) \\ & =\prod_{d=1}^{n}d^{\sum_{p=1}^{\lfloor\frac{n}{d}\rfloor}\mu(p)\lfloor\frac{n}{dp}\rfloor^m} \\ & =\prod_{T=1}^{n}\Big(\prod_{d|T}d^{\mu(\frac{T}{d})}\Big)^{\lfloor\frac{n}{T}\rfloor^k} \end{aligned} \]

观察所有 \(j\) 对每个 \(T\) 的贡献,发现就是把所有指数加起来。

\[\begin{aligned}\mathrm{ans} & =\prod_{T=1}^{n}\Big(\prod_{d|T}d^{\mu(\frac{T}{d})}\Big)^{\sum_{i=1}^{k}(-1)^{i-1}\cdot {k\choose i}\cdot n^{k-i}\cdot \lfloor\frac{n}{T}\rfloor^i} \\ & =\prod_{T=1}^{n}\Big(\prod_{d|T}d^{\mu(\frac{T}{d})}\Big)^{n^k-(n-\lfloor\frac{n}{T}\rfloor)^k} \end{aligned} \]

厉害二项式定理。\(O(n\log n+T\sqrt{n}\log V)\),注意要降两次幂。

record


[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)\)

\[\begin{aligned} E(\max(S)) & =\sum_{T\subseteq S,T\ne \varnothing}(-1)^{|T|-1}E(\min(T)) \\ & =\sum_{T\subseteq S,T\ne \varnothing}(-1)^{|T|-1}\frac{n}{\sum_{i\in T}c_i} \end{aligned} \]

\(\displaystyle f_k=\sum_{\sum_{j\in T}c_j=k}(-1)^{|T|-1}\),可得

\[\mathrm{ans}=n\cdot \sum_{i=1}^{n}\frac{f_i}{i} \]

构造 \(\displaystyle F(x)=-\prod_{i=1}^{m}(1-x^{a_i})\) 即可。

这是经典形式,\(\ln\)\(\exp\) 即可,时间复杂度 \(O(n\log n)\)

record


*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,套用式子

\[\begin{aligned} E(\operatorname{kthmax}(S)) & =\sum_{T\subseteq S,T\ne\varnothing}(-1)^{|T|-k}{|T|-1\choose k-1}E(\operatorname{min}(T)) \\ & =\sum_{T\subseteq S,T\ne\varnothing}(-1)^{|T|-k}{|T|-1\choose k-1}\frac{m}{\sum_{i\in T}p_i} \\ & =\sum_{j=1}^{m}\frac{m}{j}\sum_{T\subseteq S,T\ne\varnothing}(-1)^{|T|-k}{|T|-1\choose k-1}\Big[\sum_{x\in T}p_x=j\Big] \end{aligned} \]

考虑对每个 \(j\) DP 这个东西,但是状态不能是 \(O(n^2m)\) 的,由于

\[{|T| \choose k-1}={|T|-1\choose k-1}+{|T|-1\choose k-2} \]

于是对每个 \(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))\),要滚动掉数组的一维。

record

posted @ 2024-02-27 11:42  SError  阅读(41)  评论(0)    收藏  举报