知識點整理--組合數學
定義
組合:C(n,m)表示從n個元素中,取任意的m個元素的方案數。
定義式: 遞推式:C(n,m)=C(n-1,m-1)+C(n-1,m)
排列:A(n,m)表示從n個元素中,取任意的m個元素並排列好的方案數
常用公式
1. C(n,m)=C(n,n-m)
2. ∑C(n,i)=2^n
證明:從n個元素中任意取i個(0<=i<=n)的所有不同方案。
首先,∑C(n,i)表示從n個元素中任意取0個的所有不同取法+從n個元素中任意取1個的所有不同取法+從n個元素中任意取2個的所有不同取法+……+從n個元素中任意取n個的所有不同取法的總和。
其次考慮對於n個元素中的任意一個,記作A,則在每次取時,A都有取或不取兩種選擇,並對於A的選擇是獨立的,與其他元素無關。所以∑C(n,i)=2^n。
3. ∑i*C(n,i)=n*2^(n-1)
意義:i*C(n,i) 表示先從n個元素裏取出i個元素,再從這i個元素中取出一個元素。
證明:參考公式2
4. ∑(i<=n)C(i,m)=C(n+1,m+1)
放到楊輝三角上就是紫色部分的和等於其右下角的值(粉色圈裏)
5. ∑(i<=k)C(n,i)*C(m,k-i)=C(n+m,k)
卡特蘭數
括號匹配:包含2n個括號的合法括號序列有多少個
將左括號看作0,右括號看作1,本問題就變成了:求序列任意前綴0的個數大於或等於1的個數
那麽對於一個非法序列,一定存在某個最短前綴中,1的個數比0的個數多1。此時我們將此前綴01取反,剩下的不變,最後得到序列中有n+1個0和n-1個1。
得到的方案數C(2n,n-1)
另外,此過程是可逆的,也就意味著對於合法序列,我們可以將其01取反變成非法序列。
通過網格:從坐標(0,0)到(n,n),求不跨過對角線的方案數。
將向右走記作0,向上走記作1,同上。
三角劃分:給定一個凸N邊形,求將其三角形化的方案數(劃分成N-2個三角形)
f 是方案數,h是卡特蘭數。
f(n)=h(n-2) (n=2,3,4,……)
(待更新補充……)
知識點整理--組合數學