min-max 容斥

前几天 DZYO 讲容斥的时候睡着了,还是得把这些补一下。。。

前置知识:二项式反演

二项式反演的形式就是:

f n = ∑ i = 0 n ( − 1 ) i C n i g i ⇔ g n = ∑ i = 0 n ( − 1 ) i C n i f i f_n=\sum_{i=0}^n(-1)^iC_n^ig_i⇔g_n=\sum_{i=0}^n(-1)^iC_n^if_i fn=i=0n(1)iCnigign=i=0n(1)iCnifi

这个式子具有很强的对称性。

还有一个更常用的式子是这样的:

f n = ∑ i = 0 n C n i g i ⇔ g n = ∑ i = 0 n ( − 1 ) n − i C n i f i f_n=∑_{i=0}^nC_n^ig_i⇔g_n=∑_{i=0}^n(−1)^{n−i}C_n^if_i fn=i=0nCnigign=i=0n(1)niCnifi

具体的证明可以参考 Miskcoo’s Space反演魔术:反演原理及二项式反演

min-max 容斥

给定集合 S S S,设 m a x ( S ) max(S) max(S) 表示集合中的最大值, m i n ( S ) min(S) min(S) 表示集合中的最小值,那么有:

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)

以下证明参考 ez_2016gdgzoi471min-max容斥以及推广kth min-max容斥

考虑构造一个容斥系数 f ( x ) f(x) f(x),使得:

m a x ( S ) = ∑ T ⊆ S f ( ∣ T ∣ ) m i n ( T ) max(S)=\sum_{T\subseteq S}f(|T|)min(T) max(S)=TSf(T)min(T)

考虑到从大到小 ( x + 1 ) (x+1) (x+1) 大的数的贡献为 ∑ i = 0 x C x i × f ( i + 1 ) \sum\limits_{i=0}^xC_x^i\times f(i+1) i=0xCxi×f(i+1)

上式的意思就是枚举有哪些集合的最小值会为第 ( x + 1 ) (x+1) (x+1) 大的元素,然后乘上容斥系数。

那么有:

[ x = 0 ] = ∑ i = 0 x C x i × f ( i + 1 ) [x=0]=\sum_{i=0}^xC_x^i\times f(i+1) [x=0]=i=0xCxi×f(i+1)

然后二项式反演,得到:

f ( x + 1 ) = ∑ i = 0 x ( − 1 ) x − i C x i [ i = 0 ] = ( − 1 ) x f(x+1)=\sum_{i=0}^x(-1)^{x-i}C_x^i[i=0]=(-1)^x f(x+1)=i=0x(1)xiCxi[i=0]=(1)x

也就是说, f ( x ) = ( − 1 ) x − 1 f(x)=(-1)^{x-1} f(x)=(1)x1

那么把 f ( x ) f(x) f(x) 代回去即可得到 min-max 容斥的式子。

证毕。


还有 min-max 容斥的一些其他形式:

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

这个的证明是类似的,但是好像这个不常用。


min-max 容斥还有一个比较好的性质,就是在期望的意义下它依旧成立,即:

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

可以根据这个来解一些期望概率的题。

例题:
  1. [HDU 4336]Card Collectormin-max容斥 / / /期望概率 d p dp dp
  2. [HAOI 2015]按位或min-max容斥 + + + FWT
  3. [PKUWC 2018]随机游走min-max容斥 + + + FWT + + + 期望概率 d p dp dp

kth min-max 容斥

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

它的证明其实和 min-max 容斥的证明一样,可以自己推一推。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值