第二類斯特林數總結

2022-05-02 03:18:12 字數 2550 閱讀 5482

標籤: 第二類斯特林數

最近做題的時候遇到了一些跟第二類斯特林數有關的東西,發現網上的資料不是很多,於是寫一篇部落格來總結一下。

第二類斯特林數\(s(n,m)\)表示的是把n個不同的小球放在m個相同的盒子裡方案數。

upd:為了看得清楚,有時候我們也用\(\begin n \\ m\end \)來表示\(s(n,m)\)

一般有兩種求法。

遞推:\(s(n,m)=s(n-1,m-1)+ms(n-1,m)\)

即討論第乙個球是否單獨在乙個盒子裡面。

如果不獨佔一盒,那麼把這個球放進任乙個盒子,這個盒子就相當於與其他的盒子不同,那麼在乘答案的時候就要多乘乙個m.

容斥原理:

\[s(n,m)=}\sum_^m (-1)^k c(m,k)(m-k)^n

\]即列舉空盒的個數,剩下的隨意放置,由於盒子是相同的最後要除以\(m!\)

注意到這個式子是乙個卷積,所以可以在\(o(nlogn)\)內求出\(s(n,0),s(n,1)......\)

只有乙個公式

\[n^k=\sum_ ^k s(k,i)×i!×c(n,i)

\]很好理解,左邊就是k個球可以任意放置在n個盒子裡。

右邊就是列舉非空盒子的數量i,那麼把k個球放在i個盒子(盒子不同,需要乘上乙個i!)裡面再乘上選出i個非空盒子的方案數。

有了這個東西,我們可以很方便的維護一些東西。

upd:感覺以前寫的菜爆了。。。。更新一點吧

上面的性質與求法都是基於組合意義而來的,接下來我們採用乙個具有組合意義的等式,將其通過一些變換得到上面的等式。

\[n^m=\sum_^m \begin m \\k \end n^

\]\(x^\)是\(x\)的\(k\)次下降冪,就是\(x \times (x-1) \times(x-2)....\times(x-k+1)\)

(其實就是上面的性質啦)

當然準確來說這個式子才是定義式,因為這個式子具有清晰的組合意義。

這個式子可以方便的得到遞推式:

\[\sum_^m \begin m\\k\end n^=

\sum_^ \begin m-1\\k-1\end n^} +\sum_^ k\begin m-1\\k\end n^} =\\

\sum_^ \begin m-1\\k\end n^} +\sum_^ k\begin m-1\\k\end n^}

=(n-k+k)n^=n^m\]

當然這個步驟寫的不太嚴謹,如果把上面的式子倒過來就是正確的證明步驟,但是這樣推就不太好想(不過我們已經知道了結論就隨便了)。

好像還有乙個等式?

\[\begin m \\k \end=}\sum_^k (-1)^ \binom i^m

\]再來審視一下之前的定義式。

\[k^m=\sum_^k \begin m \\i \end i! \binom

\]我們把\(m\)看作常量,令\(f_i=i^m,g_i=\begin m \\i \end i!\)。

那麼\(\binom\)相當於從\(g_i\)到\(f_k\)的乙個轉移矩陣

直接二項式反演,得

\[\begin m \\k \end k!=\sum_^k (-1)^ \binom i^m

\]再把\(k!\)移過去就得到最初的式子了。

對第二類斯特林數的反演。

\[q_n=\sum_^\beginn \\ i\endp_i \leftrightarrow p_n=\sum_^(-1)^\beginn \\ i\endq_i

\]其中\(\begin n\\ m\end\)是第一類斯特林數,也可以寫作\(s(n,m)\),在不作特殊的說明情況的下(即\(s_s(n,m)\)代表有符號的第一類斯特林數),本文中寫到的均為無符號的第一類斯特林數。

在這裡,我們只需要知道\(s(n,m)\)的生成函式。

\[x^=\sum_^m (-1)^\begin m\\k\end x^k\quad [1]

\\x^=\sum_^m \begin m\\k\end x^k \]

其實這差不多就是有符號和無符號的區別,乙個是下降冪,乙個是上公升冪。

我們發現,這個式子與上面第二類斯特林數的定義式出奇的像。

\[x^m=\sum_^m \begin m \\k \end x^ \quad [2]

\]將\([1]\)式帶入\([2]\)中,得

\[x^m=\sum_^m \begin m \\k \end \sum_^k (-1)^\begin k\\l\end x^l \\

=\sum_^m x^l \sum_^m (-1)^\begin m \\k \end\begin k\\l\end\]

顯然得到等式

\[[l=m]=\sum_^m (-1)^\begin m \\k \end\begin k\\l\end

\]接下來,我們將斯特林反演的兩式相互帶入,不難得出其等價與上式。

值得一提的是,我們令矩陣\(f_=\begin i \\ j \end,g_=(-1)^ \begin i\\ j \end\)

那麼根據上面的式子,有\(fg=e\),即矩陣\(f,g\)互逆。

演算法 第二類斯特林數Stirling

第二類stirling數實際上是集合的乙個拆分,表示將n個不同的元素拆分成m個集合的方案數,記為 或者。第二類stirling數的推導和第一類stirling數類似,可以從定義出發考慮第n 1個元素的情況,假設要把n 1個元素分成m個集合則分析如下 1 如果n個元素構成了m 1個集合,那麼第n 1個...

學習筆記 第二類斯特林數

在組合數學中,有幾個重要的 遞推數 而筆者今天要介紹的,就是其中的第二類斯特林數。第二類斯特林數 即斯特林子集數 beginn k end 也記作 s n,k 它表示將 n 個兩兩不同的元素,劃分為 k 個互不區分的非空子集的方案數。每次加入乙個新元素時,有兩種方案 根據加法原理,即可得出遞推式 b...

第二類斯特林數 學習總結

前幾天在bz上的考試考到有關第二類斯特林數的東西 雖然說那道題目到最後並不需要用這個東西來化簡把 不過抱著學習的態度還是學了學有關第二類斯特林數的東西 第二類斯特林數s n,m 定義為把n個元素劃分成m個無序集合的方案數 根據這個定義我們不難寫出遞推式 設狀態s i,j 討論第i個元素是否單獨乙個集...