第二类Stirling数(第二类斯特林数)
-
定义
- 第二类Stirling数表示把 n n n个不同的数划分为 m m m个集合的方案数,要求不能为空集,写作 S ( n , m ) S(n,m) S(n,m).
- 和第一类Stirling数不同,划分集合不必考虑排列次序。
-
递推式
- 考虑 S ( n , m ) S(n,m) S(n,m)可以由什么转移得到?
- 1、
S
(
n
−
1
,
m
−
1
)
S(n-1,m-1)
S(n−1,m−1),将
n
−
1
n-1
n−1个不同元素划分为了
m
−
1
m-1
m−1个集合,则第
n
n
n个元素必须单独放入第
m
m
m个集合。方案数:
S ( n − 1 , m − 1 ) S(n-1,m-1) S(n−1,m−1) - 2、
S
(
n
−
1
,
m
)
S(n-1,m)
S(n−1,m),将
n
−
1
n-1
n−1个不同元素已经划分为了
m
m
m个集合,则第
n
n
n个元素可以放在
m
m
m个集合中任意一个里面。方案数:
S ( n − 1 , m ) ∗ m S(n-1,m)*m S(n−1,m)∗m - 则可以得出递推式:
S ( n , m ) = S ( n − 1 , m − 1 ) + S ( n − 1 , m ) ∗ m S(n,m)=S(n-1,m-1)+S(n-1,m)*m S(n,m)=S(n−1,m−1)+S(n−1,m)∗m -
三角形
n | S ( n , m ) S(n,m) S(n,m) |
---|---|
0 | 1 |
1 | 0 1 |
2 | 0 1 1 |
3 | 0 1 3 1 |
4 | 0 1 7 6 1 |
5 | 0 1 15 25 10 1 |
… | … |
-
性质
- 通过观察以上的三角形可以得到:
- 1、 S ( 0 , 0 ) = 1 S(0,0)=1 S(0,0)=1
- 2、 S ( n , 0 ) = 0 S(n,0)=0 S(n,0)=0
- 3、 S ( n , 1 ) = 1 S(n,1)=1 S(n,1)=1
- 4、 S ( n , n ) = 1 S(n,n)=1 S(n,n)=1
- 5、$S(n,2)= 2 n − 1 − 1 2^{n-1}-1 2n−1−1
- 6、 S ( n , n − 1 ) = C n 2 = n ( n − 1 ) 2 S(n,n-1)=C_{n}^{2}=frac{n(n-1)}{2} S(n,n−1)=Cn2=2n(n−1)
- 更多请见百度百科
-
应用
- 各种不同的盒子放球模型:
- 1、 n n n个不同的球放入 m m m个相同的盒子中,不允许盒子为空:
- 方案数 = S ( n , m ) =S(n,m) =S(n,m),正是第二类Stirling数的定义。
- 2、 n n n个不同的球放入 m m m个不同的盒子中,不允许盒子为空:
- 方案数 = S ( n , m ) ∗ m ! =S(n,m)*m! =S(n,m)∗m!,盒子有区别,乘上盒子所有排列即可。
- 3、 n n n个不同的球放入 m m m个相同的盒子中,允许盒子为空:
- 方案数 = ∑ i = 0 m S ( n , i ) =sum_{i=0}^{m}S(n,i) =∑i=0mS(n,i),枚举非空盒子个数即可。
- 4、 n n n个不同的球放入 m m m个不同的盒子中,允许盒子为空:
- 方案数 = ∑ i = 0 m P ( m , i ) ∗ S ( n , i ) =sum_{i=0}^{m}P(m,i)*S(n,i) =∑i=0mP(m,i)∗S(n,i),因为盒子不同,所以乘上排列数。
更多
第一类Stirling数(第一类斯特林数)
Stirling数(斯特林数)第一类Stirling数&第二类Stirling数