卡特兰数 Catalan

news/2025/1/24 19:16:05/文章来源:https://www.cnblogs.com/water-flower/p/18690229

卡特兰数

定义

\(Catalan\) 数列 \(H_n\) 是以下问题的方案数:

  • 有一个大小为 \(n × n\) 的方格图,左下角为 \((0, 0)\) 右上角为 \((n, n)\),从左下角开始 每次都只能向右或者向上走一单位,不走到对角线 \(y = x\) 上方(但可以触碰) 的情况下到达右上角有多少可能的路径?
  • 在圆上选择 \(2n\) 个点,将这些点成对连接起来使得所得到的 \(n\) 条线段不相交的 方法数?
  • 一个栈的进栈序列为 \(1, 2, 3, · · · , n\) 有多少个不同的出栈序列?
  • \(n\) 个结点可构造多少个不同的二叉树?
  • \(n\) 对括号能组成的括号序列数?
  • ......

这些问题的方案数可以证明是相等的。我们先以第一个命题来具体研究 \(Catalan\)

图片有点抽象还请各位海涵一下。

我们从(1,1)走到(n,n)的方案数可以递推来求。

设我们第一次接触到对角线时的横坐标为i,前面的方案数可看为从(2,1)走到(i,i-1)的方案数,后面的方案数可看为从(i,i)走到(n,n)的方案数。

对 i 求和有:\(H_n = \sum^{n}_{i=1}H_{i-1}H_{n-i}\),这就是卡特兰数的递推式。初值为 \(H_0 = H_1 = 1\)

我们还可以看为总方案数减去超过对角线(触碰到红线)的方案数。

我们对最后一次触碰到红线后的部分进行翻转,则原来的每一条不合法路径(如蓝色)就一一对应了一条终点为(n-1,n+1)的路径(如绿色)。

所以卡特兰数的组合意义是 \(H_n = {2n \choose n} - {2n \choose n-1}\)

综上

\[H_n = \begin{cases} \sum_{i = 0}^{n - 1} H_iH_{n - i - 1} & (n\geq2) \\ 1 & (n = 0,1) \end{cases}\\ H_i= \binom{2n}{n}-\binom{2n}{n - 1} \]

再看卡特兰数的第二个和第四个定义,可以发现它们的递推式与该递推式相同。对于第三个和第五个定义,可以认为就是在走网格,并且横向步数不超过纵向步数。

通项公式\(H_n = \frac{\binom{2n}{n}}{n + 1}\)。这个使用递推公式的生成函数搞出来的,证明比较麻烦,这里不再赘述 。你也可以把该式子带入组合意义中来验证其正确性。

递推式2\(H_n = \frac{H_{n - 1}(4n - 2)}{n + 1}\) ,这个可以直接带入验证。

因为上课讲的例题都没怎么听懂,这里就不放题了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/874848.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【vjudge训练记录】大一寒假专项训练——并查集

训练情况A题 并查集模板,求班级最多人数和班级数,可以使用map进行统计,取父节点塞进map里面,取最大值和size即可点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;const int N = 1e5 + 3;int fa[N];int n,m;int …

2024山西中考数学第15题

如图,在 $▱ABCD$ 中,$AC$ 为对角线,$AE⊥BC$ 于点 E,点 $F$ 是 $AE$ 延长线上一点,且 $∠ACF = ∠CAF$,线段 $AB$,$CF$ 的延长线交于点 $G$,若 $AB=\sqrt{5}$,$AC=4$,$\tan∠ABC=2$,则 $BG$ 的长为_________.解析 勾股定理+建系 过程 解:由题得,$AE=2$,$BE=1$。…

云--云计算设计模式

https://www.cloudpatterns.org/异常

CTS2025Day1T1 倾诉

以下定义 \(lim=\lceil\log a\rceil\)。 首先结构一定是形如将整个序列划分成若干子段,形如 \((l,r,p)\) 的结构,其中 \(p\ge r\),并且 \(p\) 严格单调递增,那么这一段的操作次数就是 \(p-l\),不妨令 \(f(l,r,p)\) 表示对应的权值。由于 \(a_n\ge 1\),所以说明最后一段的…

你希望 Windows 在你离开电脑多久后要求你重新登录? windows 11 家庭版 去掉登录开机密码

你希望 Windows 在你离开电脑多久后要求你重新登录? 你的电脑的电源设置阻止显示某些选项。windows 11 家庭版 去掉密码方法一、使用用户账户关闭登录密码 【不可行】1、点击“开始菜单”,在“搜索”框中输入“netplwiz”,并点击打开。2、在弹出的窗口中,选中需要更改的账户…

pig--apache

https://pig.apache.org/

Hugging Face 视觉语言小模型 SmolVLM 可在手机运行;OpenAI 推出智能体 Operator 联网执行任务

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

[CF1260D] A Game with Traps

A Game with Traps の 传送门首先,假设带 \(p\) 个人可以,那么带更少的人一定可以。 那么,可以二分带多少个人。 设当前二分带 \(x\) 个人。 带敏捷值最大的 \(x\) 个士兵肯定最好。 先去除当前无用的陷阱,即 \(d_i\) 小于等于 \(x\) 个士兵中的最小敏捷值。 陷阱区间不相交…

[CF549F] Yura and Developers

A Game with Traps の 传送门首先,假设带 \(p\) 个人可以,那么带更少的人一定可以。 那么,可以二分带多少个人。 设当前二分带 \(x\) 个人。 带敏捷值最大的 \(x\) 个士兵肯定最好。 先去除当前无用的陷阱,即 \(d_i\) 小于等于 \(x\) 个士兵中的最小敏捷值。 陷阱区间不相交…

Vue2_Vue 实例

本文主要介绍 Vue 实例,包括如何创建一个 Vue 实例、实例中的数据和方法、实例生命周期钩子以及生命周期的图示,实例的数据和方法主要涉及数据 data 对象,在实例生命周期钩子中简单讲解了模板编译Vue 实例创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 V…

AI应用实战课学习总结(7)聚类算法分析实战

本文介绍了机器学习中的聚类场景问题,常用的聚类算法 以及 分类和聚类的简单对比,最后再次通过电商订单数据做用户画像的案例做了一次聚类实战,相信对你理解聚类应用应该有所帮助。大家好,我是Edison。 最近入坑黄佳老师的《AI应用实战课》,记录下我的学习之旅,也算是总结…

飞行器半实物联合仿真:技术解析与应用实践

1.背景介绍 当前,飞行器已成为大国博弈复杂场景中的重要角色,其技术经过多次实践不断发展,性能持续提升,整体效能显著增强。随着计算机技术和系统仿真技术的发展,利用计算机模拟和仿真构造一个虚拟飞行器的飞行控制系统已成为可能。这种仿真环境不仅可以定量描述飞行器在真…