第二類斯特林數總結
標簽: 第二類斯特林數
最近做題的時候遇到了一些跟第二類斯特林數有關的東西,發現網上的資料不是很多,於是寫一篇博客來總結一下。
第二類斯特林數
定義
第二類斯特林數\(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.
容斥原理:
即枚舉空盒的個數,剩下的隨意放置,由於盒子是相同的最后要除以\(m!\)
注意到這個式子是一個卷積,所以可以在\(O(nlogn)\)內求出\(S(n,0),S(n,1)......\)
性質
只有一個公式
很好理解,左邊就是k個球可以任意放置在n個盒子里。
右邊就是枚舉非空盒子的數量i,那么把k個球放在i個盒子(盒子不同,需要乘上一個i!)里面再乘上選出i個非空盒子的方案數。
有了這個東西,我們可以很方便的維護一些東西。
組合等式推導
upd:感覺以前寫的菜爆了。。。。更新一點吧
上面的性質與求法都是基於組合意義而來的,接下來我們采用一個具有組合意義的等式,將其通過一些變換得到上面的等式。
\(x^{\underline k}\)是\(x\)的\(k\)次下降冪,就是\(x \times (x-1) \times(x-2)....\times(x-k+1)\)
(其實就是上面的性質啦)
當然准確來說這個式子才是定義式,因為這個式子具有清晰的組合意義。
這個式子可以方便的得到遞推式:
當然這個步驟寫的不太嚴謹,如果把上面的式子倒過來就是正確的證明步驟,但是這樣推就不太好想(不過我們已經知道了結論就隨便了)。
好像還有一個等式?
再來審視一下之前的定義式。
我們把\(m\)看作常量,令\(f_i=i^m,g_i=\begin{Bmatrix} m \\i \end{Bmatrix} i!\)。
那么\(\binom{k}{i}\)相當於從\(g_i\)到\(f_k\)的一個轉移矩陣
直接二項式反演,得
再把\(k!\)移過去就得到最初的式子了。
斯特林反演
對第二類斯特林數的反演。
其中\(\begin{bmatrix} n\\ m\end{bmatrix}\)是第一類斯特林數,也可以寫作\(s(n,m)\),在不作特殊的說明情況的下(即\(s_s(n,m)\)代表有符號的第一類斯特林數),本文中寫到的均為無符號的第一類斯特林數。
在這里,我們只需要知道\(s(n,m)\)的生成函數。
其實這差不多就是有符號和無符號的區別,一個是下降冪,一個是上升冪。
我們發現,這個式子與上面第二類斯特林數的定義式出奇的像。
將\([1]\)式帶入\([2]\)中,得
顯然得到等式
接下來,我們將斯特林反演的兩式相互帶入,不難得出其等價與上式。
值得一提的是,我們令矩陣\(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\)互逆。