日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

第二类斯特林数总结

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第二类斯特林数总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第二類斯特林數總結

標簽: 第二類斯特林數


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

第二類斯特林數

定義

第二類斯特林數\(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.

容斥原理:
\[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個非空盒子的方案數。

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

組合等式推導

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

上面的性質與求法都是基于組合意義而來的,接下來我們采用一個具有組合意義的等式,將其通過一些變換得到上面的等式。
\[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\]

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

好像還有一個等式?
\[\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\)互逆。

轉載于:https://www.cnblogs.com/gzy-cjoier/p/8426987.html

總結

以上是生活随笔為你收集整理的第二类斯特林数总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。