斯特林反演学习小记

我们知道斯特林数和集合有着密不可分的联系,所以斯特林反演一般就用于集合划分上。

斯特林反演是用来求容斥系数的。

栗子:

bzoj4671: 异或图

直接做很难做。

枚举一个集合划分,对于同一集合的点,不一定要求连通,但是不同集合的点一定不连通。

这个的方案数是很好算的。

我们给它个容斥系数,设为 f(S) f ( S )

对于一个确切的图,假设它有m个连通块,显然当m=1时它才是有用的。

然后你在容斥的时候不是算了个不明不白的东西吗?
你要你乱算的东西里包含这个图,则你集合划分的时候一定是合并了这个图的一些联通块

因此被计算次数为 mi=1Sm,if(i) ∑ i = 1 m S m , i ∗ f ( i )

等式即 [m=1]=mi=1Sm,if(i) [ m = 1 ] = ∑ i = 1 m S m , i ∗ f ( i )

斯特林反演:

若有 f(n)=ni=1Sn,ig(i) f ( n ) = ∑ i = 1 n S n , i ∗ g ( i )

g(n)=ni=1(1)nisn,if[i] g ( n ) = ∑ i = 1 n ( − 1 ) n − i ∗ s n , i ∗ f [ i ]

可以通过结合第一类、第二类斯特林数和下降幂有关的那一部分得到以上的证明。

返回原题:

f(n)=ni=1(1)nisn,i[i=1] f ( n ) = ∑ i = 1 n ( − 1 ) n − i ∗ s n , i ∗ [ i = 1 ]
=(1)n1(n1)! = ( − 1 ) n − 1 ∗ ( n − 1 ) !

很多是否集合划分的容斥系数都是这个,因为 g(m) g ( m ) 一般都是 [m=1] [ m = 1 ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值