組合數學學習小記

有關組合數學的小記,不喜勿噴spa

1.第一類斯特林數:表示將$ n$ 個不一樣元素構成\(m\)個圓排列的數目。

遞推式:\(s(n,m)=s(n-1,m-1)+s(n-1,m)*(n-1)\)數學

遞推式證實以下:class


咱們考慮第\(n\)個元素放的位置。二叉樹

(1)前\(n-1\)個元素構成了\(m-1\)個圓排列,第\(n\)個元素獨自構成一個圓排列:\(s(n-1,m-1)\)方法

(2)前\(n-1\)個元素構成了\(m\)個圓排列,第\(n\)個元素插入到任意元素的左邊:\((n-1)*S(n-1,m)\)集合

綜上:\(s(n,m)=s(n-1,m-1)+s(n-1,m)*(n-1)\)math


對於第一類斯特林數咱們有如下特色:

1.\(s(n,n-2)=2*C(n,3)+3*C(n,4)\)

2.\(s(n,n-1)=C(n,2)\)

3.\(\sum_{i=0}^{n}s(n,i)=n!\)

2.第二類斯特林數:表示將\(n\)個不一樣的元素拆分紅\(m\)個非空集合的方案數。

遞推式:\(S(n,m)=S(n-1,m-1)+m*S(n-1,m)\)


同理,咱們仍是考慮第\(n\)個元素的放置狀況。

(1)前\(n-1\)個元素構成了\(m-1\)個集合,那麼第\(n\)個元素單獨構成一個集合:\(S(n-1,m-1)\)

(2)前\(n-1\)個元素已經構成了\(m\)個集合,將第\(n\)個元素插入到任意一個集合:\(m*S(n-1,m)\)

綜上:\(S(n,m)=S(n-1,m-1)+S(n-1,m)*m\)


同時附上一個第二類斯特林數的容斥公式:\(S(n,m)=\frac{1}{m!}*\sum_{i=0}^{m}{(-1)^i*C(m,i)*(m-i)^n}\)

第二類斯特林數的實際意義

(1)n個不一樣的球,放入m個有區別的盒子,不容許盒子爲空,方案數:\(m!*S(n,m)\)

(2)n個不一樣的球,放入m個無區別的盒子,容許盒子爲空,方案數:\(\sum_{i=0}^{m}S(n,i)\)

PS:一個有趣的事實:\(\sum_{i=0}^{n}S(n,i)*s(i,m)=\sum_{i=0}^{n}s(n,i)*S(i,m)\)

3.卡特蘭數

卡特蘭數的實際意義和證實方法過多,筆者再也不闡述,下面直接給出通項公式和遞推公式。

\(Cat_n=C(2*n,n)-C(2*n,n-1)=\frac{C(2*n,n)}{n+1}=Cat_{n-1}*\frac{4n-2}{n-1}\)

常見意義:合法出棧方案數,二叉樹方案數......

4.圓排列:表示從\(n\)個元素中選\(m\)個在圓周上構成不一樣的圓的方案數

通項公式:\(\frac{n!}{(n-m)!*m}\)

5.錯位排列:\(n\)的相異的元素排成一排,第\(i\)個元素不在第\(i\)位上的方案數

通項公式:\(D_n=(n-1)*(D_{n-1}+D_{n-2})\)

證實以下:


咱們假設第\(n\)個數排在第\(k\)位上,其中\(k\in[1,n-1]\)

(1).當第\(k\)個數排在第\(n\)位時,除了第\(n\)個數和第\(k\)個數之外還有\(n-2\)個數,其方案數爲\(D_{n-2}\)

(2).當第\(k\)個數不排在第\(n\)位時,將第\(n\)位從新想成新的「第\(k_1\)位」,這時的包括第\(k\)個數在內的剩下\(n-1\)個數的每一種錯排,方案數爲\(D_{n-1}\)

因爲,\(k\in[1,n-1]\),因此\(D_n=(n-1)*(D_{n-1}+D_{n-2})\)


附上一個容斥的公式:\(D_n=n!*\sum_{i=2}^{n}{(-1)^i*\frac{1}{i!}}\)

6.隔板法

(1).\(n\)個一樣的小球分紅\(m\)個不一樣的組別,每組不爲空,方案數爲:\(C(n-1,m-1)\)

(2).\(n\)個一樣的小球分紅\(m\)個不一樣的組別,每組能夠爲空,方案數爲:\(C(n+m-1,m-1)\)

先寫到這了,之後有東西再補。。。。。

相關文章
相關標籤/搜索