斯特林数


第一类斯特林数

定义:将 $n$ 个元素,换份为 $k$ 个圆排列的方案数,记作 $s(n,k)$,或 $\big[_k^n\big]$。又根据正负性分为无符号的 $s_u(n,m)$ 和带符号的 $s_s(n,m)$。组合数学中的第一类斯特林数一般是只无符号的。

  • 圆排列

可以看成 旋转置换,通过旋转任意角度排列仍然相同,就属于一种方案。

第一类斯特林数就是解决圆排列的方案数。

  • 递推求第一类斯特林数

将 $1$ 到 $n$ 的排列划分为 $k$ 个圆排列,共有多少种方案?

一共有两种放置方法:$n$ 新圆中,或放到已经有的圆中。

  • $n$ 放到一个新圆中

假设前 $n-1$ 个数放到 $k-1$ 个圆中,$n$ 放到新圆 $k$ 中,此时的方案数和不放当前数的方案数相同,即:$\big[_{k-1}^{n-1}\big]$。

  • $n$ 放到已有的圆中

那么有 $n-1$ 数,放到 $k$ 个圆里,就有 $(n-1)\times \big[_{k}^{n-1}\big]$ 种放置方案(有 $n-1$ 条边,放在每条边上都算一种方案)。

将两种情况统计起来,就得到了递推式:

其中 $s(n,n)=1(n\ge 0),s(n,0)=0(n\ge 1)$

  • 第一类斯特林数表
    0    1    2    3    4    5    6
1   1
2   0    1
3   0    1    1
4   0    6   11    6    1
5   0   24   50   35   10    1
6   0  120  274  225   85   15    1
  • 斯特林三角

有符号斯特林数和无符号斯特林数的关系:

     无符号斯特林数            有符号斯特林数

0          1                        1
1         0 1                      0 1
2        0 1 1                   0 -1 1
3       0 2 3 1                 0 2 -3 1
4     0 6 11 6 1              0 -6 11 -6 1
5   0 24 50 35 10 1         0 24 -50 35 -10 1 
6 0 120 274 225 85 15 1  0 -120 274 -225 85 -15 1  

第一类斯特林数的性质

人为规定

如果 $n$ 个数放在 $1$ 个圈里,有 $(n-1) !$ 种情况,现在选 $i$ 个数放到第二个圈中:

注意两个圈是没有区别的。

方案总数(就是将上面的 $i$ 枚举出来):

上升幂&下降幂

  • 上升阶乘幂(上升幂)

上升幂转化为普通幂

普通幂转化为上升幂

(大括号是第二类斯特林数,后面会讲。)

  • 下降阶乘幂(下降幂)

普通幂转换为下降幂:

下降幂转化为普通幂:

  • 多项式下降阶乘幂表示与多项式点值表示的关系

多项式的下降幂阶乘幂表示就是用

的形式表示一个多项式,而点值表示就是用 $n+1$ 个点

来表示一个多项式。

那么就有:

这是一个卷积的形式,那么我们可以用 FFT 来优化。

第一类斯特林数的生成函数

有符号斯特林数的生成函数是下降幂:

无符号斯特林数的生成函数是上升幂:

第二类斯特林数

将 $n$ 个不同的元素拆分成 $m$ 个集合间有序(集合有编号,且不能空)的方案数,记 $S(n,m)$ 或者

和第一类斯特林数不同的是,这里的集合内部是不考虑次序的,而圆排列圆内部是有序的。典型的例子:将 $n$ 和不同的球放入 $m$ 个无差别的盒子中,要求盒子非空,有几种方案?

递推求第二类斯特林数

将 $n$ 个元素分成 $k$ 个集合,我们来分析第 $n$ 个数 $n$,有哪些放置方法。

有两种情况:$n$ 放在一个新的集合中,或者 $n$ 放在已有的集合中。

  • $n$ 放在一个新的集合中

假设前 $n-1$ 和数放到 $k-1$ 个集合中,$n$ 放到自己的集合中,就是第 $k$ 个集合。方案数和不放这个元素的方案数相等:

  • $n$ 放到已有的集合中

前 $n-1$ 个数放到 $k$ 个集合里,第 $n$ 个数放到前 $k$ 个集合里,对于每一个集合中,由于内部是无序的,所以有 $k$ 中选择,

综合上面两种情况,有递推公式:

同时有 $S(n,n)=1,p\ge 0$,$S(n,0)=0,n\ge 1$。

第二类斯特林数三角

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
6       0 1 31 90 65 15 1

第二类斯特林数性质

$B_n$ 是贝尔数。

第二类斯特林数生成函数

指数生成函数:

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

第三类斯特林数(拉赫数)

无符号拉赫数:

升阶函数:

降阶函数:

其中 $L(n,k)$ 为拉赫数。

有符号拉赫数:

升阶函数:

降阶函数:

无符号拉赫数计算的是有 $n$ 个元素的集合拆分成 $k$ 个非空线性有序子集方法的数目。

无符号拉赫数公式:

有符号拉赫数公式:

递推求第三类斯特林数

无符号:

和:

有:$L(n,0)=0$,$L(n,k)=0(k > n )$,$L(1,1)=1$。

第三类斯特林数表

     0     1     2     3     4     5     6
0    1
1    0     1
2    0     2     1
3    0     6     6     1
4    0    24    36    12     1
5    0   120   240   120    20     1
6    0   720  1800  1200   300    30     1

第三类斯特林数的性质

无符号拉赫数还有:

无符号拉赫数还可写成:

还有:

$\delta_{nk}$ 是克罗内克尔 $\delta$。

公式

  • 反转公式:

  • 斯特林反演:


文章作者: 王大神——A001
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王大神——A001 !
  目录