min-max 容斥学习笔记

2019.12.17 upd 第三个公式 x x x 改为 i i i

min-max 容斥

式子有两种形式,本质是一样的:

{ m a x ( S ) = ∑ T ⊆ S ( − 1 ) ∣ T ∣ − 1 m i n ( T ) m i n ( S ) = ∑ T ⊆ S ( − 1 ) ∣ T ∣ − 1 m a x ( T ) \left\{ \begin{aligned} \\max(S)=\sum_{T\subseteq S}(-1)^{|T|-1}min(T) \\min(S)=\sum_{T\subseteq S}(-1)^{|T|-1}max(T) \end{aligned} \right. max(S)=TS(1)T1min(T)min(S)=TS(1)T1max(T)

下面证明第一个式子。

m a x ( S ) = ∑ T ⊆ S ( − 1 ) ∣ T ∣ − 1 m i n ( T ) max(S)=\sum_{T\subseteq S}(-1)^{|T|-1}min(T) max(S)=TS(1)T1min(T)

考虑把 S S S 中的元素从大到小排序,对于第 x + 1 x+1 x+1 大的元素,他的系数是

k x + 1 = ∑ i = 0 x ( x i ) ( − 1 ) i = ( 1 − 1 ) x = [ x = 0 ] k_{x+1}=\sum_{i=0}^{x}{x\choose i}(-1)^{i}=(1-1)^x=[x=0] kx+1=i=0x(ix)(1)i=(11)x=[x=0]

所以只有最大的那个数的系数是 1 1 1 ,其他的系数都是 0 0 0 ,得到的就是 m a x ( S ) max(S) max(S)

第二个式子同理。

kth min-max 容斥

这是 min-max 容斥的推广, 一般的 min-max 容斥也可以用这样的方法推出来,就是 k = 1 k=1 k=1 的情况。

考虑构造一个容斥系数,使得

k t h _ m a x ( S ) = ∑ T ⊆ S F ( ∣ T ∣ ) m i n ( T ) kth\_max(S)=\sum_{T\subseteq S}F(|T|)min(T) kth_max(S)=TSF(T)min(T)

仍旧考虑第 x + 1 x+1 x+1 大的数的系数,我们需要只有 x = k − 1 x=k-1 x=k1 时系数为 1 1 1 其余时候系数都为 0 0 0 ,所以

K x + 1 = ∑ i = 0 x ( x i ) F ( i + 1 ) = [ x = k − 1 ] K_{x+1}=\sum_{i=0}^{x}{x \choose i}F(i+1)=[x=k-1] Kx+1=i=0x(ix)F(i+1)=[x=k1]

二项式反演

F ( x + 1 ) = ∑ i = 0 x ( x i ) ( − 1 ) x − i [ i = k − 1 ] = ( x k − 1 ) ( − 1 ) x − k + 1 \begin{aligned} F(x+1)&=\sum_{i=0}^{x}{x \choose i}(-1)^{x-i}[i=k-1] \\&={x \choose k-1}(-1)^{x-k+1} \end{aligned} F(x+1)=i=0x(ix)(1)xi[i=k1]=(k1x)(1)xk+1

所以

F ( x ) = ( x − 1 k − 1 ) ( − 1 ) x − k F(x)={x-1 \choose k-1}(-1)^{x-k} F(x)=(k1x1)(1)xk

k t h _ m a x ( S ) = ∑ T ⊆ S ( ∣ T ∣ − 1 k − 1 ) ( − 1 ) ∣ T ∣ − k m i n ( T ) kth\_max(S)=\sum_{T\subseteq S}{|T|-1 \choose k-1}(-1)^{|T|-k}min(T) kth_max(S)=TS(k1T1)(1)Tkmin(T)

可以发现当 k = 1 k=1 k=1 时就是最开始的 min-max 容斥。

min-max 容斥与期望

min-max 容斥在期望意义下依然成立,即

E [ m a x ( S ) ] = ∑ T ⊆ S ( − 1 ) ∣ T ∣ − 1 E [ m i n ( T ) ] E[max(S)]=\sum_{T\subseteq S}(-1)^{|T|-1}E[min(T)] E[max(S)]=TS(1)T1E[min(T)]

例题

  1. [HAOI 2015] 按位或

  2. [PKUWC 2018] 随机游走

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值