第二类斯特林数总结

第二类斯特林数总结

标签: 第二类斯特林数函数


最近作题的时候遇到了一些跟第二类斯特林数有关的东西,发现网上的资料不是不少,因而写一篇博客来总结一下。spa

第二类斯特林数

定义

第二类斯特林数\(S(n,m)\)表示的是把n个不一样的小球放在m个相同的盒子里方案数。
upd:为了看得清楚,有时候咱们也用\(\begin {Bmatrix} n \\ m\end {Bmatrix}\)来表示\(S(n,m)\)博客

求法

通常有两种求法。
递推:
\(S(n,m)=S(n-1,m-1)+mS(n-1,m)\)
即讨论第一个球是否单独在一个盒子里面。
若是不独占一盒,那么把这个球放进任一个盒子,这个盒子就至关于与其余的盒子不一样,那么在乘答案的时候就要多乘一个m.class

容斥原理:
\[S(n,m)={\frac 1 {m!}}\sum_{k=0}^m (-1)^k C(m,k)(m-k)^n \]
即枚举空盒的个数,剩下的随意放置,因为盒子是相同的最后要除以\(m!\)
注意到这个式子是一个卷积,因此能够在\(O(nlogn)\)内求出\(S(n,0),S(n,1)......\)原理

性质

只有一个公式
\[n^k=\sum_ { i=0}^k S(k,i)×i!×C(n,i) \]
很好理解,左边就是k个球能够任意放置在n个盒子里。
右边就是枚举非空盒子的数量i,那么把k个球放在i个盒子(盒子不一样,须要乘上一个i!)里面再乘上选出i个非空盒子的方案数。im

有了这个东西,咱们能够很方便的维护一些东西。总结

组合等式推导

upd:感受之前写的菜爆了。。。。更新一点吧di

上面的性质与求法都是基于组合意义而来的,接下来咱们采用一个具备组合意义的等式,将其经过一些变换获得上面的等式。
\[n^m=\sum_{k=0}^m \begin{Bmatrix} m \\k \end{Bmatrix} n^{\underline k}\]
\(x^{\underline k}\)\(x\)\(k\)次降低幂,就是\(x \times (x-1) \times(x-2)....\times(x-k+1)\)
(其实就是上面的性质啦)
固然准确来讲这个式子才是定义式,由于这个式子具备清晰的组合意义。
这个式子能够方便的获得递推式:标签

\[ \sum_{k=0}^m \begin{Bmatrix} m\\k\end{Bmatrix} n^{\underline k}= \sum_{k=1}^{m} \begin{Bmatrix} m-1\\k-1\end{Bmatrix} n^{\underline {k}} +\sum_{k=1}^{m} k\begin{Bmatrix} m-1\\k\end{Bmatrix} n^{\underline {k}} =\\ \sum_{k=0}^{m-1} \begin{Bmatrix} m-1\\k\end{Bmatrix} n^{\underline {k+1}} +\sum_{k=1}^{m} k\begin{Bmatrix} m-1\\k\end{Bmatrix} n^{\underline {k}} =(n-k+k)n^{m-1}=n^m\]display

固然这个步骤写的不太严谨,若是把上面的式子倒过来就是正确的证实步骤,可是这样推就不太好想(不过咱们已经知道告终论就随便了)。

好像还有一个等式?
\[\begin{Bmatrix} m \\k \end{Bmatrix}={\frac 1 {k!}}\sum_{i=0}^k (-1)^{k-i} \binom {k} {i} i^m \]
再来审视一下以前的定义式。
\[k^m=\sum_{i=0}^k \begin{Bmatrix} m \\i \end{Bmatrix} i! \binom{k}{i}\]
咱们把\(m\)看做常量,令\(f_i=i^m,g_i=\begin{Bmatrix} m \\i \end{Bmatrix} i!\)
那么\(\binom{k}{i}\)至关于从\(g_i\)\(f_k\)的一个转移矩阵
直接二项式反演,得
\[\begin{Bmatrix} m \\k \end{Bmatrix} k!=\sum_{i=0}^k (-1)^{k-i} \binom {k} {i}i^m \]
再把\(k!\)移过去就获得最初的式子了。

斯特林反演

对第二类斯特林数的反演。
\[q_n=\sum_{i=1}^{n}\begin{Bmatrix}n \\ i\end{Bmatrix}p_i \Leftrightarrow p_n=\sum_{i=0}^{n}(-1)^{n-i}\begin{bmatrix}n \\ i\end{bmatrix}q_i\]

其中\(\begin{bmatrix} n\\ m\end{bmatrix}\)是第一类斯特林数,也能够写做\(s(n,m)\),在不做特殊的说明状况的下(即\(s_s(n,m)\)表明有符号的第一类斯特林数),本文中写到的均为无符号的第一类斯特林数。

在这里,咱们只须要知道\(s(n,m)\)的生成函数。
\[x^{\underline m}=\sum_{k=0}^m (-1)^{m-k}\begin{bmatrix} m\\k\end{bmatrix} x^k\quad [1] \\x^{\overline m}=\sum_{k=0}^m \begin{bmatrix} m\\k\end{bmatrix} x^k \]

其实这差很少就是有符号和无符号的区别,一个是降低幂,一个是上升幂。

咱们发现,这个式子与上面第二类斯特林数的定义式出奇的像。
\[x^m=\sum_{k=0}^m \begin{Bmatrix} m \\k \end{Bmatrix} x^{\underline k} \quad [2]\]
\([1]\)式带入\([2]\)中,得
\[x^m=\sum_{k=0}^m \begin{Bmatrix} m \\k \end{Bmatrix} \sum_{l=0}^k (-1)^{k-l}\begin{bmatrix} k\\l\end{bmatrix} x^l \\ =\sum_{l=0}^m x^l \sum_{k=l}^m (-1)^{k-l}\begin{Bmatrix} m \\k \end{Bmatrix}\begin{bmatrix} k\\l\end{bmatrix}\]
显然获得等式
\[[l=m]=\sum_{k=l}^m (-1)^{k-l}\begin{Bmatrix} m \\k \end{Bmatrix}\begin{bmatrix} k\\l\end{bmatrix}\]
接下来,咱们将斯特林反演的两式相互带入,不可贵出其等价与上式。

值得一提的是,咱们令矩阵\(f_{i,j}=\begin{Bmatrix} i \\ j \end{Bmatrix},g_{i,j}=(-1)^{i-j} \begin{bmatrix} i\\ j \end{bmatrix}\)
那么根据上面的式子,有\(FG=E\),即矩阵\(F,G\)互逆。

相关文章
相关标签/搜索