組合數學 斯特林數

2021-08-15 23:32:07 字數 820 閱讀 4679

斯特林數包括第一類斯特林數和第二類斯特林數

第一類斯特林數:

定義:n個不同的元素構成m個圓排列(迴圈排列)的方法數

分成兩種情況:

1· 前n-1個元素已經構成了m個圓排列,只要將第n個元素插入1~n-1個元素中任意乙個元素的左邊即可((n-1)*s(n-1,m))

2· 前n-1個元素已經構成了m-1個圓排列,那麼第n個元素只能單獨構成乙個圓排列才能構成m個圓排列(s(n-1,m-1))

遞推式:       s(n,m)=s(n-1,m-1)+(n-1)*s(n-1,m);   

long long s[maxn][maxn];//第一類stirling數  

#define max 1e9+7

void init()//預處理

}

第二類斯特林數:

定義:n個不同的元素拆分成m個集合(不考慮次序)的方法數

分成兩種情況:

1·前n-1個元素已經拆分成了m個集合,第n個元素和任意乙個集合合併(m*s(n-1,m))

2·前n-1個元素拆分成了m-1個集合,第n個元素單獨成為乙個集合(s(n-1,m-1))

遞推式:    s(n,m)=m*s(n-1,m)+s(n-1,m-1);

long long s[maxn][maxn];//第一類斯特林數 

#define max 1e9+7//取模

void init()//預處理

}

組合數學之斯特林數 貝爾數

斯特林數經常和組合數學中的上公升下降問題聯絡到一起。第一類斯特林數 將n個不同的元素構成m個不同的環的方案數目 兩環不想等當且僅當任一不能通過旋轉得到另一環 dp i j 表示i個元素構成j個環 有兩種情況可以得到dp i j 1.前i 1個元素構成了j 1個不同的環,第i個元素單獨成環 共有 dp...

組合數學之放球問題 附斯特林數

放球問題在組合數學中是乙個經典問題,在acm比賽中也經常會出現類似的題目,這裡做乙個歸納。我們假定現在有n個球,要放到m個盒子中,根據情況的不同主要可以分為一下8類 這裡確保n m 編號n個球是否有區別 m個盒子是否有區別 是否允許空盒1否 否是2否 否否3否 是否4否 是是5是 否否6是 否是7是...

兩類斯特林數 組合數學

斯特林數是組合數學中的乙個重要內容,有許多有用的性質.它由十八世紀的蘇格蘭數學家james stirling首先發現並說明了它們的重要性.斯特林數主要處理的是把n個不同的元素分成k個集合或環的個數問題.現在我們說的斯特林數可以指兩類數,分為第一類斯特林數和第二類斯特林數,其中第一類斯特林數還分成有符...