浅谈斯特林数及其应用

第一类斯特林数

定义

第一类Stirling数表示将 n 个不同元素构成m个圆排列的数目。

设有多项式

[[x]_n = x(x-1)(x-2)dots(x-n+1) ]

[=s(n,0)+s(n,1)x+s(n,2)x^2+dots +s(n,n)x^n ]

则称(s(n,0),s(n,1),dots,s(n,n))(1)类斯特林数

递推式

[[x]_{n+1}=[s(n,0)+s(n,1)x+s(n,2)x^2+dots +s(n,n)x^n](x-n) ]

[=s(n+1,0)+s(n+1,1)x+dots+s(n+1,n+1)x^{n+1} ]

显然有

[s(n,r)=s(n-1,r-1)+(n-1)s(n-1,r) ]

考虑其组合意义,最后一个球可以单独构成一个圆排列,也可以插入前面某一个球的一侧。

若单独放,则有(s(n-1,r-1))种放法;若放在某个球的一侧,则有((n-1)s(n-1,r))种放法。

第二类斯特林数

定义

(n)个有区别的球放到(m)个相同的盒子里,要求无一空盒,其不同的方案数用(S(n,m))来表示,称为第2类斯特林数,即(S(n,m))也就是将(n)个数拆分成非空的(m)个部分的方案数。

(E.g.) 红、黄、蓝、白这(4)种颜色的球,放到两个无区别的盒子里,不允许空盒,其方案有如下(7)种:

盒子 1 2 3 4 5 6 7
第一个盒子 r y b w ry rb rw
第二个盒子 ybw rbw ryw ryb bw yw yb

其中(r)表示红球,(y)表示黄球,(b)表示蓝球,(w)表示白球,则有

[S(4,2)=7 ]

性质

  1. (S(n,0)=S(0,n)=0,forall n in mathbb{N})

  2. (S(n,k)>0),若(nge kge 1)

  3. (S(n,k)=0),若(k > nge 1)

  4. (S(n,1)=1,nge 1)

  5. (S(n,n)=1,nge 1)

    (5)个性质是显然的。

  6. (S(n,2)=2^{n-1}-1)

    证明: 两个盒子没有区别,当第(1)个球放进其中一个盒子之后,其余的(n-1)个有标志的球都有与第(1)个球同盒与否的两种选择,但是要排除全部放在同一个盒子的情况,所以是(2^{n-1}-1)

  7. (S(n,3)=frac{1}{2}(3^{n-1}+1)-2^{n-1})

    证明: 先咕着。

  8. (S(n,n-1)=inom{n}{2})

    证明: (n)个有标志的球,(n-1)个无区别的盒子,无一空盒,所以必定有一个盒子有两个球,所以方案数为(inom{n}{2})

  9. (S(n,n-2)=inom{n}{3}+3inom{n}{4})

    证明: (n)个有标志的球,(n-2)个无区别的盒子,无一空盒,所以有两种情况:一是有一个盒子有(3)个球,方案数为(inom{n}{3});另一种可能则是有两个盒子里面各有(2)个球,方案数为(3inom{n}{4})

递推式

[S(n,r)=S(n-1,r-1)+rS(n-1,r) ]

考虑最后一个球,若它单独放在一个盒子里,则方案数为(S(n-1,r-1));若放在前面的某一个盒子里,则方案数为(rS(n-1,r))

通项公式

[S(n,m)=frac{1}{m!} left[ m^n - inom{m}{1}(m-1)^n+inom{m}{2}(m-2)^n- dots + (-1)^{m-1}inom{m}{m-1}1^n ight] ]

[=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k C(m,k) (m-k)^n ]

证明:

假设盒子有区别,且允许空盒存在,那么显然答案就是(m^n)。但是这里不允许有空盒存在,那么进行容斥。

枚举当前的空盒数,那么先将空盒选出来,也就是(inom{m}{k}),那么剩下的(m-k)个盒子就可以随意放入(n)个球,也就是((m-k)^n)。最后,由于盒子是没有区别的,所以除以一个重复数(m!)

求斯特林数

除了(O(n^2))递推外还有没有别的方法计算第二类斯特林数呢?显然是有的。

回顾一下上面的通项公式

[S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k C(m,k) (m-k)^n ]

稍微整理一下

[S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} (-1)^k frac{m!}{k!(m-k)!} (m-k)^n ]

[S(n,m)=frac{1}{m!} sum limits_{k=0}^{m} m! frac{(-1)^k}{k!} frac{(m-k)^n}{(m-k)!} ]

[S(n,m)=sum limits_{k=0}^{m} frac{(-1)^k}{k!} frac{(m-k)^n}{(m-k)!} ]

显然,这样就是一个卷积的形式了,可以快速得把一行斯特林数都求出来。

斯特林反演

博主太菜了,不会,咕了。

斯特林数及斯特林反演的应用

咕了。

既然选择了远方,便只顾风雨兼程。
原文地址:https://www.cnblogs.com/newbielyx/p/12109454.html