把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

斯特林数的基础性质与斯特林反演的初步入门

前言

这篇博客仅介绍定义、性质等基础的理论知识,至于如何快速求解斯特林数之类的具体实现可能会另开博客吧。

第一类斯特林数

定义

第一类斯特林数\(S_1(n,m)\)表示\(n\)有区别的小球拼成\(m\)个环(无空)的方案数。

递推式

\[S_1(n,m)=S_1(n-1,m-1)+(n-1)\times S_1(n-1,m) \]

无非是两种情况:

  • 新增一个环。
  • 加入到原先的一个环中。注意放在不同球之前是不同的,因此系数是\(n-1\)

重要性质\(1\)

\[n!=\sum_{i=0}^nS_1(n,i) \]

考虑一个排列可以分为若干置换环。

我们可以把第一类斯特林数中的环理解成置换,全排列和斯特林数就一一对应了。

重要性质\(2\)

\[x^{\underline{n}}=\sum_{i=0}^nS_1(n,i)\times (-1)^{n-i}\times x^i\\ x^{\bar{n}}=\sum_{i=0}^n S_1(n,i)\times x^i \]

考虑归纳法证明,这里以第一个式子为例:

\[\begin{align} x^{\underline{n+1}}&=(x-n)x^{\underline{n}}\\ &=x\sum_{i=0}^nS_1(n,i)\times(-1)^{n-i}\times x^i-n\sum_{i=0}^nS_1(n,i)\times (-1)^{n-i}\times x^i\\ &=\sum_{i=1}^{n+1}S_1(n,i-1)\times(-1)^{n-i+1}x^i+n\sum_{i=0}^{n+1}S_1(n,i)\times(-1)^{n-i+1}\times x^i\\ &=(\sum_{i=1}^{n+1}(S_1(n,i-1)+n\times S_1(n,i))\times(-1)^{(n+1)-i}\times x^i)+(S_1(n,0)\times(-1)^{n+1}\times x^0)\\ &=\sum_{i=0}^{n+1}S_1(n+1,i)\times(-1)^{(n+1)-i}\times x^i \end{align} \]

第二类斯特林数

定义

第二类斯特林数\(S_2(n,m)\)表示\(n\)有区别的小球放入\(m\)无区别的盒子(无空)的方案数。

递推式

\[S_2(n,m)=S_2(n-1,m-1)+m\times S_2(n-1,m) \]

同样可以分成两种情况:

  • 新增一个盒子。
  • 加入到原先的一个盒子中。注意这就是和第一类斯特林数的区别了,它的系数是\(m\)

重要性质

\[m^n=\sum_{i=0}^mS_2(n,i)\times i!\times C(m,i)=\sum_{i=0}^mS_2(n,i)\times m^{\underline{i}} \]

考虑\(m^n\)就是把\(n\)个有区别的小球放入\(m\)个有区别的盒子(可以为空)的方案数。

那么我们首先枚举非空盒子数\(i\),把\(n\)个球放入\(i\)个盒子中,最后给这些盒子标个号,就对应起来了。

组合表示

\[S_2(m,n)=\frac1{m!}\sum_{k=0}^m(-1)^k\times C(m,k)\times (m-k)^n \]

如果我们先给盒子标上号,并假设可以存在空盒子,答案就应该是\(m^n\)

然后我们容斥,枚举\(k\)表示至少有多少空盒子,就可以计算出所有盒子不为空的方案数。

最后乘上一个\(\frac1{m!}\),把有标号转回无标号。

自然数幂和

第二类斯特林数和自然数幂和有着重要关系。

推一推式子:

\[\begin{align} \sum_{i=0}^n i^k&=\sum_{i=0}^n\sum_{j=0}^kS_2(k,j)\times i^{\underline{j}}\\ &=\sum_{j=0}^kS_2(k,j)\sum_{i=0}^ni^{\underline{j}}\\ &=\sum_{j=0}^kS_2(k,j)j!\sum_{i=0}^nC_i^j\\ &=\sum_{j=0}^kS_2(k,j)j!C_{n+1}^{j+1}\\ \end{align} \]

斯特林反演

定义

\[f(n)=\sum_{k=0}^nS_2(n,k)g(k)\Leftrightarrow g(n)=\sum_{k=0}^n(-1)^{n-k}S_1(n,k)f(k) \]

所需性质

总结:

\[x^{\underline{n}}=\sum_{i=0}^nS_1(n,i)(-1)^{n-i}x^i\\ x^{\bar{n}}=\sum_{i=0}^nS_1(n,i)x^i\\ m^n=\sum_{i=0}^nS_2(n,i)\times m^{\underline{i}} \]

补充:

\[x^{\underline{n}}=(-1)^n(-x)^{\bar{n}}\\ x^{\bar{n}}=(-1)^n(-x)^{\underline{n}} \]

前置:反转公式

\[\sum_{k=m}^n(-1)^{n-k}S_1(n,k)S_2(k,m)=[m=n]\\ \sum_{k=m}^n(-1)^{n-k}S_2(n,k)S_1(k,m)=[m=n] \]

反转公式\(1\)

\[\begin{align} m^{\underline{n}}&=\sum_{i=0}^nS_1(n,i)(-1)^{n-i}m^i\\ &=\sum_{i=0}^nS_1(n,i)(-1)^{n-i}\sum_{j=0}^iS_2(i,j)m^{\underline{j}}\\ &=\sum_{i=0}^nm^{\underline{i}}\sum_{j=i}^n(-1)^{n-j}S_1(n,j)S_2(j,i) \end{align} \]

反转公式\(2\)

\[\begin{align} m^{n}&=\sum_{i=0}^nS_2(n,i)m^{\underline{i}}\\ &=\sum_{i=0}^nS_2(n,i)(-1)^i(-m)^{\bar{i}}\\ &=\sum_{i=0}^nS_2(n,i)(-1)^i\sum_{j=0}^iS_1(i,j)(-m)^{j}\\ &=\sum_{i=0}^nm^{i}\sum_{j=i}^n(-1)^{i-j}S_2(n,j)S_1(j,i) \end{align} \]

斯特林反演证明

已知:

\[g(n)=\sum_{k=0}^n(-1)^{n-k}S_1(n,k)f(k) \]

证明:

\[\begin{align} f(n)&=\sum_{k=0}[k=n]f(k)\\ &=\sum_{k=0}^n\sum_{j=k}^nS_2(n,j)S_1(j,k)(-1)^{j-k}f(k)\\ &=\sum_{k=0}^nS_2(n,k)\sum_{j=0}^k(-1)^{k-j}S_1(k,j)f(j)\\ &=\sum_{k=0}^nS_2(n,k)g(k) \end{align} \]

后记

例题什么的,先坑着吧。。。

posted @ 2020-11-10 21:04  TheLostWeak  阅读(291)  评论(0编辑  收藏  举报