容斥与反演总结

容斥和反演就是一个东西。

朴素容斥原理

|A1¯¯¯¯A2¯¯¯¯...An¯¯¯¯|=i=1N(1)ni|T|=i,T={x1,..,xi}|Ax1Ax2...Axi|

直接枚举所有子集计算。
例题: BZOJ4455

容斥的本质

坑待填。

反演的本质

就是有两个式子。

Gn=i=0nan,iFi

Fn=i=0nbn,iGi

把下式带入上式:
Gn=i=0nan,ij=0ibi,jGj

Gn=j=0nGji=jnan,ibi,j

如果满足 nj=ian,jbj,i=[n=i] ,那么这两个式子就可互相反演啦!

二项式反演

Gn=i=0n(ni)FiGn=i=0n(1)ni(ni)Fi

它的本质就是:
j=in(nj)(1)ji(ji)=[n=i]

j=in(1)ji(ni)(niji)=[n=i]

d 替换ji
(ni)d=0ni(1)d(nid)=[n=i]

(ni)[ni=0]=[n=i]

得证。
例题: BZOJ3622

Stirling反演

把第一类Stirling数看成有符号的。

Gn=i=0n{ni}FiFn=i=0n[ni]Gi

本质就是:
j=in{nj} [ji]=[n=i]

第一类Stirling数幂与下降幂的关系:
xk=i=0k[ki]xi

第二类Stirling数幂与下降幂的关系:
xk=i=0k{ki}xi

代入就好。
例题: BZOJ4617Wearry出的神题

莫比乌斯反演

fn=d|ngdgn=d|nμndfd

fn=i=1n[i|n]gign=i=1n[i|n]μnifi

本质就是:

j=in[j|n][i|j]μji=[n=i]

d 替换ji
d=1ni[d|ni]=[ni=1]

得证。

最值反演

又叫min-max容斥,感觉很神奇,其实很sb。

max{S}=TS(1)|T|1min{T}

设最大值为 xS ,那么构造映射 f(T)xT?Tx:T+x 。那么当 T 不为空和{x}时, T f(T)因为只相差一个最大值,最小值肯定相同,集合大小只相差 1 ,就抵消了,因为空集没有最小值,所以最后只剩下{x}的贡献。
套上期望还是蛮有用的: HDU4624

后记

听说把组合数和stirling数根据递推式往负方向推可以推出与之对偶的东西。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值