1. 程式人生 > >知識點整理--組合數學

知識點整理--組合數學

blog 獨立 過程 http style 數學 一個 三角形 images

定義

  組合: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,……)

(待更新補充……)

知識點整理--組合數學