[笔记] 卡特兰数
同步发表于 MiNa!
基础知识#
卡特兰数的式子#
卡特兰数的例子#
- 合法出栈入栈操作序列。
- 合法括号序列。
- 凸多边形划分为三角形的方案数。
拓展#
广义卡特兰数#
似乎网上有相关论文,此处仅提及 FJOI 2020 D2T2 题目的例子浅显地了解一下。
将 边凸多边形划分为 个 边形的方案 ( )
可以推导递推式
也可以用生成函数表示
还可以将划分方案映射为序列
我们以十边形划分为 个四边形为例,给出映射的规则:
从 号点出发,依次遍历所有顶点,每抵达一个顶点,记为 ,若当前顶点有指向编号更小的顶点的弦,则把划分出的一块全部割掉,那么此时边数的变化是减少了 条边,然后增加了当前弦这一条边,故记为 。
特别的,我们把 与 的连边看作弦处理。
那么一个合法的划分方案将映射为一个由 个 , 个 组成的前缀和为正的序列。

直接由 Raney 引理 得到方案数为 .
Raney 引理#
一个环 ,满足 ,在将它裂开形成的 条可能的链中,恰有一条满足所有前缀和都是正数。
可以用于推导卡特兰数的一个通项式 .
首先卡特兰数的等价于一个长为 ,由 个 和 个 组成前缀和非负的序列的方案数。
加入一个 使得 个数的和是 ,以使用 Raney 引理。
首先这 个数的排列方案是 ,而由引理可知,每 个循环同构的排列方式只有 种合法。
故方案数为 ,然后因为加入一个 新序列要求所有前缀和为正,所以序列首一定是 ,那么和满足卡特兰数含义的序列其实就是一一对应的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现