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

卡特兰数相关

时间:2019-08-18 21:41:27      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:方案   技术   数学   简单   mamicode   常用   csdn   http   art   

这一块一直学的不太好,基本停留在看到题可以看出来是个卡特兰数,但进一步的思考和推导,对我来说就变得困难起来,所以今天趁有时间,复习一下

前言

卡特兰数多用在组合数学的计数问题中,多是那种有两种选择,也就是求有限制的方案数

公式

$h(n)=h(0){\times}h(n-1)+h(1){\times}h(n-2)+{\cdots}+h(n-1){\times}h(0)$

$h(n)=\frac{h(n-1){\times}(4{\times}n-2)}{n+1}$

$h(n)=C_{2{\times}n}^{n}-C_{2{\times}n}^{n-1}$

$h(n)=\frac{C_{2{\times}n}^{n}}{n+1}$

最后两个通项公式在组合数学中较为常用,关于最后两个通项公式的推倒,我简单推一下,其实就是对组合数公式的应用

$h(n)=C_{2{\times}n}^{n}-C_{2{\times}n}^{n-1}$

   $=C_{2{\times}n}^{n}-\frac{(2{\times}n)!{\times}n}{n!{\times}n!{\times}(n+1)}$

   $=C_{2{\times}n}^{n}-C_{2{\times}n}^{n}{\times}\frac{n}{n+1}$

   $=\frac{1}{n+1}{\times}C_{2{\times}n}^{n}$

最常见模型

常见的卡特兰数最基本最常见的模型是进出栈问题,也就是对于n个数,求其不同出栈次序的方案数,下面来自学长的解释

技术图片

关键在于那个前缀和不小于零,很多题都可以简化为这种问题,对于卡特兰数这种进出栈模型,在下面还会提到另一种理解

简单应用

1.进出栈模型

2.二叉树计数

3.多边形划分

4.括号匹配

5.有限制的网格路径

关于这些,前方链接

简单例题

BZOJ3907网格

当$n=m$时,这道题就是一个裸的卡特兰数,向右看作进栈,向上看为出栈

那当$n>m$时呢?我们来考虑一下对于卡特兰数的另一种理解

我们将这道题化减为一个模型,给你$n$个1,$m$个0,要求一个$01$串,使得任意前k位中0的个数不少与1的个数,双倍经验,我们考虑用总的方案数减去不满足的方案数,总方案显然是$C_{n+m}^{m}$,现在我们考虑不满足要求的01串,前提是满足$n$个$1$,$m$个$0$,对于一个不合法$01$串,我们设在第$i$位上为1,且第一次出现1的个数-0的个数=1,那么此时假如我们把这个串的前$i$个位置,$01$取反,那在此时的串中就出现了$m+1$个0和$n-1$个1,我们发现这种相互转化的关系是唯一对应的,所以不合法的$01$串的方案数是$C_{n+m}^{m+1}$,所以最后的答案就是$C_{n+m}^{m}-C_{n+m}^{m-1}$,当$n=m$时,这个式子就是卡特兰数的通项公式

送一道还可以的练习题

卡特兰数相关

标签:方案   技术   数学   简单   mamicode   常用   csdn   http   art   

原文地址:https://www.cnblogs.com/hzjuruo/p/11373035.html

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