码迷,mamicode.com
首页 > 其他好文 > 详细

知识点整理--组合数学

时间:2017-09-20 12:13:38      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:元素   es2017   问题   整理   过程   卡特兰数   分享   参考   image   

定义

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

 

(待更新补充……)

知识点整理--组合数学

标签:元素   es2017   问题   整理   过程   卡特兰数   分享   参考   image   

原文地址:http://www.cnblogs.com/Beckinsale/p/7560279.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!