知识点整理--组合数学

定义(#86debe)

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

  公式:

  1.递推式:

      

  2.另类递推式:

       

  3.递推式的解:

      

  4.另类递推式的解:

      

  5.打表结果:

    1,1,2,5,14,42,132,429,1430……

  例题:bzoj1485--求catalan数第n项取模

Lucas定理

(待更新补充……)

posted @ 2017-09-20 10:50  BK-Edwina  阅读(619)  评论(0编辑  收藏  举报