斯特林数

第一类斯特林数

定义

(left[egin{matrix}n\mend{matrix} ight]) 表示将(n)个带标号的元素放入(m)个不带标号的环的方案数

递推式

[left[egin{matrix}n\mend{matrix} ight]=left[egin{matrix}n-1\m-1end{matrix} ight]+(n-1)left[egin{matrix}n-1\mend{matrix} ight] ]

组合意义

考虑最后一个元素:要么重新开一个环,要么加入到已经存在的环当中(即选择一个元素加入到它后面)

边界条件

[left[egin{matrix}n\0end{matrix} ight]=[n=0] ]

还有一个

[left[egin{matrix}n\mend{matrix} ight]=sum_{i=1}^nleft[egin{matrix}n-i\m-1end{matrix} ight](i-1)!inom{n-1}{i-1} ]

即考虑(n) 所在的环,枚举其大小(i) ,((i-1)!) 代表环的方案数,(inom{n-1}{i-1}) 代表从(n-1) 个元素中选出(i-1) 个来和(n) 在一起(注意不是考虑最后一个环,因为这里的环是不带标号的)

性质

[sum_{i=0}^nleft[egin{matrix}n\iend{matrix} ight]=n! ]

即考虑一个排列可以拆成若干个循环,每个循环都是一个圆排列。

第一类斯特林数求行

第一类斯特林数求列

考虑对于一个大小为(i) 的环排列有((i-1)!) 中方案,则环排列的(EGF)

[sum_{i=1}^{+infty}(i-1)!frac {x^i}{i!}=sum_{i=1}^{+infty}frac {x^i}i=-ln(1-x) ]

(left[egin{matrix}n\iend{matrix} ight]) 含有(i) 个环,那么它的(EGF) 就是(frac{(-ln(1-x))^i}{i!}) ,于是多项式快速幂即可。

第二类斯特林数

定义

(left{egin{matrix}n\mend{matrix} ight}) 表示将(n) 个带标号的元素放入(m) 个不带标号的集合的方案数

递推式

[left{egin{matrix}n\mend{matrix} ight}=left{egin{matrix}n-1\m-1end{matrix} ight}+mleft{egin{matrix}n-1\mend{matrix} ight} ]

组合意义

考虑最后一个元素:要么自成一个集合,要么放入之前已有的(m) 个集合中

边界条件

[left{egin{matrix}n\0end{matrix} ight}=[n=0] ]

还有一个

[left{egin{matrix}n\mend{matrix} ight}=sum_{i=1}^nleft{egin{matrix}n-i\m-1end{matrix} ight}inom{n-1}{i-1} ]

即考虑(n) 所在的集合,枚举其大小(i)(inom{n-1}{i-1}) 代表从(n-1) 个元素中选出(i-1) 个来和(n) 在一起

通项公式

[left{egin{matrix}n\mend{matrix} ight}=frac 1{m!}sum_{k=0}^m(-1)^{m-k}inom mk k^n ]

推导:

我们首先有

[m^n=sum_{i=0}^minom mileft{egin{matrix}n\iend{matrix} ight}i! ]

左边代表将(n) 个带标号元素放入(m) 个带标号集合的方案数,其中可能存在空集

右边先枚举(i) 代表非空集个数,而后(inom mi) 代表从(m) 个集合中选出(i) 个作为非空集,(left{egin{matrix}n\iend{matrix} ight}) 代表将(n) 个带标号元素放入(i) 个不带标号的集合,(i!) 代表将这(i) 个集合带上标号

二项式反演可得

[left{egin{matrix}n\mend{matrix} ight}m!=sum_{i=0}^minom mi(-1)^{m-i}i^n\ left{egin{matrix}n\mend{matrix} ight}=frac 1{m!}sum_{k=0}^m(-1)^{m-k}inom mk k^n ]

第二类斯特林数求行就直接按照上式卷积即可

第二类斯特林数求列

考虑一个集合的(EGF)

[sum_{i=1}^{+infty}1frac{x^i}{i!}=e^x-1 ]

那么(left{egin{matrix}n\mend{matrix} ight})(EGF) 就是(frac{(e^x-1)^m}{m!}),快速幂即可。

次幂,下降幂和上升幂

[x^n=sum_{i=0}^nleft{egin{matrix}n\iend{matrix} ight}x^{underline i}\ x^{underline n}=sum_{i=0}^n(-1)^{n-i}left[egin{matrix}n\iend{matrix} ight]x^i\ x^{overline n}=sum_{i=0}^nleft[egin{matrix}n\iend{matrix} ight]x^i\ x^n=sum_{i=0}^n(-1)^{n-i}left{egin{matrix}n\iend{matrix} ight}x^{overline i} ]

恒等式

[sum_kleft[egin{matrix}n\kend{matrix} ight]left{egin{matrix}k\mend{matrix} ight}(-1)^{n-k}=[n=m]\ sum_kleft{egin{matrix}n\kend{matrix} ight}left[egin{matrix}k\mend{matrix} ight](-1)^{n-k}=[n=m]\ ]

斯特林反演

[f(n)=sum_kleft{egin{matrix}n\kend{matrix} ight}g(k)Leftrightarrow g(n)=sum_k(-1)^{n-k}left[egin{matrix}n\kend{matrix} ight]f(k)\ f(n)=sum_kleft[egin{matrix}n\kend{matrix} ight]g(k)Leftrightarrow g(n)=sum_k(-1)^{n-k}left{egin{matrix}n\kend{matrix} ight}f(k)\ ]

可以和以上恒等式互推

更多恒等式

[left[egin{matrix}{n+1}\m+1end{matrix} ight]=sum_{i=m}^nleft[egin{matrix}n\iend{matrix} ight]inom im ]

将前(n) 个数划分为(i) 个环排列,而后从中选出(m) 个保留,将剩下的(m-k) 个和(n+1) 一起组成一个环排列。(注意这里有一种一一映射的关系)

[left{egin{matrix}n+1\m+1end{matrix} ight}=sum_{i=m}^ninom nileft{egin{matrix}i\mend{matrix} ight} ]

考虑(n+1) 所在的集合有(n+1-i) 个元素,剩下的(i) 个元素形成(m) 个集合。

[left[egin{matrix}{n+1}\m+1end{matrix} ight]=sum_{i=m}^nleft[egin{matrix}i\mend{matrix} ight]n^{underline{n-i}} ]

证明和上面类似。

[left{egin{matrix}n+1\m+1end{matrix} ight}=sum_{i=m}^nleft{egin{matrix}i\mend{matrix} ight}(m+1)^{n-i} ]

将元素按照编号从小到大的顺序依次考虑。枚举(i) 表示(i+1) 这个元素是第一个属于(n+1) 号元素所在的集合,剩下的(n-i) 个数任意选择集合。

NO PAIN NO GAIN
原文地址:https://www.cnblogs.com/zmyzmy/p/14400355.html