简单斯特林数学习小记

前言:

斯特林数这个东西,好像小学时就看过,当时水平很低,根本不会。
以前也遇到过一道第二类斯特林数的题,当时直接copy题解的,也不会运用。
最近遇到了自然数幂和,递推法很大的局限,只能学学第一类斯特林数。

定义:

斯特林数有第一类斯特林数和第二类斯特林数。
第一类斯特林数也分无符号和有符号,分别记为 su s u ss s s
第二类斯特林数记为 S S .

第一类斯特林数组合含义(因为是组合,所以是无符号的):
snm s m n 表示将n个不同元素组成m个圆的方案数,圆的次序不考虑,当然圆不能为空。

第二类斯特林数含义:
Snm S m n 表示将n个不同元素放进m个集合里,与第一类斯特林数唯一的不同的在于它不考虑元素在集合里的次序,集合之间的次序也是不考虑的,集合不能为空。

在这里废话一下,和放球问题对比下。
放球问题指的是将n个无差异的球放进m个盒子里的方案数,盒子非空或不非空是可以控制的。

计算:

第一类斯特林数:

snm=sn1m1+(n1)sn1m s m n = s m − 1 n − 1 + ( n − 1 ) ∗ s m n − 1

理解:
1.把第n个球单独放进新开的第m个圆中,为 sn1m1 s m − 1 n − 1
2.把第n个球放到前面的n - 1个球的任意一个的左边,为 (n1)sn1m ( n − 1 ) ∗ s m n − 1
加起来即可。

性质:
s00=1 s 0 0 = 1
sn0=0(n>0) s 0 n = 0 ( n > 0 )
snn=1 s n n = 1
snn1=(n1)! s n − 1 n = ( n − 1 ) !

快速计算一个第一类斯特林数:

性质:
su s u nm=xn[xm] m n = x n ↑ [ x m ]
sv s v nm=xn[xm] m n = x n ↓ [ x m ]

xn=x(x+1)(x+n1) x n ↑ = x ∗ ( x + 1 ) ∗ … ∗ ( x + n − 1 )
xn=x(x1)(xn+1) x n ↓ = x ∗ ( x − 1 ) ∗ … ∗ ( x − n + 1 )

在展开 xn x n ↑ xn x n ↓ 的背包过程中,你发现和第一类斯特林数的方程一样,由此可以粗略证明。

所以写个 O(n log2n) O ( n   l o g 2 n ) 的分治NTT就可以快速算了。

据说还有 O(n log n) O ( n   l o g   n ) 的算法……

第二类斯特林数:

Snm=Sn1m1+mSn1m S m n = S m − 1 n − 1 + m ∗ S m n − 1

理解:
1.将第n个球单独放进新开的第m个集合中,为 Sn1m1 S m − 1 n − 1
2.将第n个放进已开的m个集合中的任意一个集合中,为 mSn1m m ∗ S m n − 1
同理加起来。

性质:
S00=1 S 0 0 = 1
Sn0=0(n>0) S 0 n = 0 ( n > 0 )
Snn=1 S n n = 1
Snn2=2n11 S n − 2 n = 2 n − 1 − 1

第二类斯特林数通项公式:

考虑利用二项式反演去解决这个问题(至少至多都可以解决)。

现在要求 Sn,m S n , m

先不考虑无序,最后乘上 1m! 1 m ! 即可。
fi f i 表示恰好放到i个集合的方案数, gi g i 表示至多放到i个集合的的方案数。

显然 g(k)=kn g ( k ) = k n
f(m)=mi=1(1)miCimg(i) f ( m ) = ∑ i = 1 m ( − 1 ) m − i ∗ C m i ∗ g ( i )
=mi=1(1)miCimin = ∑ i = 1 m ( − 1 ) m − i ∗ C m i ∗ i n
换个形式:
=mi=1(1)iCim(mi)n = ∑ i = 1 m ( − 1 ) i ∗ C m i ∗ ( m − i ) n

则:
Sn,m=1m!mi=1(1)iCim(mi)n S n , m = 1 m ! ∑ i = 1 m ( − 1 ) i ∗ C m i ∗ ( m − i ) n

这个有逆元就很好算一个了。

怎么算 Sn,1n S n , 1 − n

再转换一下:
Sn,m=mi=1(1)ii!(mi)n(mi)! S n , m = ∑ i = 1 m ( − 1 ) i ∗ i ! ∗ ( m − i ) n ( m − i ) !

卷积?NTT!

第二类斯特林数搞事情:

nk=ki=1CinSk,ii! n k = ∑ i = 1 k C n i ∗ S k , i ∗ i !

nk n k 的含义为把k个求放入n的盒子的方案数,i就是枚举非空盒子的个数。

你可能感兴趣的:(数论杂集)