Catalan数

前10项

\(1,1,2,5,14,42,132,429,1430,4862\)

(注:从第\(0\)项起)

计算式

  • \(C_n=\frac{1}{n+1}\dbinom{2n}{n}\)
  • \(C_{n+1}=\sum_{i=0}^nC_iC_{n-i}\)
  • \(C_n=\dbinom{2n}{n}-\dbinom{2n}{n-1}\)
  • \(C_n=\frac{4n-2}{n+1}C_{n-1}\)

组合意义

1、由\(n\)个\(+1\)和\(n\)个\(-1\)构成的\(2n\)项序列中,满足\(\forall k\in[1,2n],\sum_{i=1}^ka_i\geq 0\)的序列数量

大家都知道结论:\(C_n=\frac{1}{n+1}\dbinom{2n}{n}\),在这里给出证明

考虑从相反的方面进行考虑,即用总序列数\(\dbinom{2n}{n}\)减去不合法的序列数

对于每一个不合法的序列,必定存在一个最小的\(k\)使得\(\sum_{i=1}^k a_i<0\),也就是有\(\sum_{i=0}^{k-1}a_i=0\)且\(a_k=-1\)

很明显\(k\)是奇数

考虑将前\(k\)项取相反数,那么该序列变成了一个含有\(n+1\)个\(+1\)和\(n-1\)个\(-1\)的序列,容易知道一个不合法的原序列只会对应一个新序列

同理,在新序列中一定会存在一个\(k\)使得\(\sum_{i=0}^ka_i=1\),此时再一次取前\(k\)项的相反数,又会得到一个不合法的原序列

因此不合法的序列和新序列是一一映射的关系,而新序列的总数也就是\(\dbinom{2n}{n-1}\)

于是最终答案就是\(\dbinom{2n}{n}-\dbinom{2n}{n-1}=\frac{1}{n+1}\dbinom{2n}{n}\)

由这一条组合意义可以引申出许多本质一样的组合意义

  • 在网格图上从\((0,0)\)走到\((n,n)\),每次只走一个单位长度,不走回头路,且不穿过(可碰到)直线\(y=x\)的方案数。(向右:\(+1\),向上:\(-1\))
  • \(2n\)个人排队买票,票价5角,有\(n\)个人持有1元硬币,另\(n\)个人持有\(5\)角硬币,求不使用额外的\(5\)角钱的排队方案(\(5\)角:\(+1\),\(1\)元:\(-1\))

2、凸\(n+1\)边形被其内部不相交的对角线划分成三角形区域的方案数

这是上面的第二个式子\(C_{n+1}=\sum_{i=0}^nC_iC_{n-i}\),我们有\(f_n=\sum_{i=2}^{n-1}f_if_{n-i-1}\),故\(f_n=C_{n+2}\)

类似的还有

  • \(n\)个节点的不同的二叉树,考虑在中序遍历中根节点的位置即可

3、其它

如:[HNOI2009]有趣的数列

本质上和第一点是相同的,关键是对偶数位置的转化

特殊计数序列——Catalan数的更多相关文章

  1. Catalan数,括号序列和栈

    全是入门的一些东西.基本全是从别处抄的. 栈: 支持单端插入删除的线性容器. 也就是说,仅允许在其一端加入一个新元素或删除一个元素. 允许操作的一端也叫栈顶,不允许操作的一端也叫栈底. 数个箱子相叠就 ...

  2. [Catalan数]1086 栈、3112 二叉树计数、3134 Circle

    1086 栈 2003年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description 栈是计算机中 ...

  3. Catalan数 && 【NOIP2003】出栈序列统计

    令h(1)=1, h(0)=1,catalan数满足递归式: h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)h(0) (n>=2) =C(2n, n)/(n+1) ...

  4. 卡特兰数 Catalan数 ( ACM 数论 组合 )

    卡特兰数 Catalan数 ( ACM 数论 组合 ) Posted on 2010-08-07 21:51 MiYu 阅读(13170) 评论(1)  编辑 收藏 引用 所属分类: ACM ( 数论 ...

  5. 【集训笔记】【大数模板】特殊的数 【Catalan数】【HDOJ1133【HDOJ1134【HDOJ1130

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3324 http://blog.csdn.net/xymscau/artic ...

  6. Catalan数应用整理

    应用一: codevs 3112 二叉树计数  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold   题目描述 Description 一个有n个结点的二叉树总共有 ...

  7. 【64测试20161112】【Catalan数】【数论】【扩展欧几里得】【逆】

    Problem: n个人(偶数)排队,排两行,每一行的身高依次递增,且第二行的人的身高大于对应的第一行的人,问有多少种方案.mod 1e9+9 Solution: 这道题由1,2,5,14 应该想到C ...

  8. Catalan数

    先看2个问题: 问题一: n个元素进栈(栈无穷大),进栈顺序为1,2,3,....n,那么有多少种出栈顺序? 先从简单的入手:n=1,当然只有1种:n=2,可以是1,2  也可以是2,1:那么有2种: ...

  9. catalan数及笔试面试里那些相关的问题(转)

    一.catalan数由来和性质 1)由来 catalan数(卡塔兰数)取自组合数学中一个常在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名. 卡塔兰数的一般项 ...

随机推荐

  1. golang标准库 context的使用

    本文索引 问题引入 context包简介 示例 问题引入 goroutine为我们提供了轻量级的并发实现,作为golang最大的亮点之一更是备受推崇. goroutine的简单固然有利于我们的开发,但 ...

  2. C#的dapper使用

    Dapper是一款轻量级ORM工具(Github).如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用牛刀.你又觉得ORM省时省 ...

  3. 服务器端Session和客户端Session

    客户端Session和服务器端Session 当用户首次与web服务器建立连接的时候,服务器会给用户分发一个SessionID作为标识.SessionID是一个由24个字符组成的随机字符串.用户每次提 ...

  4. ASP.NET MVC 5 實作 GridView 分頁

    本文用 ASP.NET MVC 5 實作一個 GridView,功能包括: 分頁(paging).關鍵字過濾(filtering).排序(sorting).AJAX 非同步執行,外觀上亦支援 Resp ...

  5. rocketmq延时消息

    rocketmq提供一种延时消息的解决方案,就是在特定的时间到了,消息才会被投递出去供consumer消费. 总体来是简单的场景是满足了,但是需要注意的是延时的时间是需要按照默认配置的延时级别去配置的 ...

  6. js 判断元素(例如div)里的数据显示不全(数据长度大于元素长度)

    //判断div里元素是否超出长度,true 超出,false 没有 dom=document.getElementById('id');function isEllipsis(dom) {    va ...

  7. Postgres 优雅存储树形数据

    碰到一个树形数据需要存储再数据控制,碰到以下两个问题: 在PG数据库中如何表达树形数据 如何有效率的查询以任意节点为Root的子树 测试数据 为了更加简单一些,我们将使用一下数据 Section A ...

  8. kali中的postgres怎么连接

    metasploit,默认使用的是postgresql数据库.在BT5或是Kali等专业的渗透系统中,postgresql已经被默认安装. 执行msfdb init会自动创建一个默认的用户名密码都是m ...

  9. .Net Core 在Linux服务器下部署程序--(3). 部署.net core 后端程序

    确认第二步中的软件已安装完成 lrzsz文件上传下载软件 zip与unzip压缩包软件 net core 相关软件 确认上述软件安装完成之后,开始部署程序 创建部署文件夹 我的习惯是在usr文件夹下新 ...

  10. centos7 最小安装初始化

    配置阿里yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup \&&cu ...