學習筆記 第二類斯特林數

2022-09-20 12:54:09 字數 637 閱讀 8722

在組合數學中,有幾個重要的「遞推數」

而筆者今天要介紹的,

就是其中的第二類斯特林數

第二類斯特林數(即斯特林子集數)\(\beginn\\k\end\),

也記作 \(s(n,k)\),

它表示將 \(n\) 個兩兩不同的元素,劃分為 \(k\) 個互不區分非空子集的方案數。

每次加入乙個新元素時,有兩種方案:

根據加法原理,即可得出遞推式:

\(\beginn\\k\end=\beginn-1\\k-1\end+\beginn-1\\k\end\)

邊界:\(\beginn\\1\end=1\)。

最終,我們能得出以下程式:

//第二類斯特林數模板

#includeusing namespace std;

const int n=5e3+5,mod=1e9+7;

int n,stirling[n][n];

int main()

return 0;

}

to be continued……

第二類斯特林數總結

標籤 第二類斯特林數 最近做題的時候遇到了一些跟第二類斯特林數有關的東西,發現網上的資料不是很多,於是寫一篇部落格來總結一下。第二類斯特林數 s n,m 表示的是把n個不同的小球放在m個相同的盒子裡方案數。upd 為了看得清楚,有時候我們也用 begin n m end 來表示 s n,m 一般有兩...

演算法 第二類斯特林數Stirling

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

第二類斯特林數 學習總結

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