Catalan 数

news/2024/10/5 13:15:56/文章来源:https://www.cnblogs.com/sirkey2119/p/18447776

Catalan 数

真的不知道怎么开头。

学习 Catalan 数先从其定义入手。

\(f_i\) 是卡特兰数第 \(i\) 项,令 \(f_0 = 1\)

递归式: \(f_i = \sum_{j = 0}^{i - 1} f_j \times f_{i - j - 1}\)

递推式:$f_{i+1} = f_i \times \frac{2 \times (2i + 1)}{i+2} $

化简可以得到:\(f_i = C_{2i}^{i} - C_{2i}^{n - 1}\)

根据递归式,可以知道卡特兰数在描述:当我们可以对一个问题进行划分,得到两个子问题, 并且两个子问题互不影响。

经典例题:凸多边形的三角划分

我们用若干条线连接 \(n\) 边形的两个顶点,线和线之间不可以相交,最后划分成若干个三角形,问划分方案的数量。

我们在初中就学习了这个东西。但本质上就是划分,先来一刀,划分成两个小的凸多边形。枚举划分后左边有多少个顶点,再把两个小凸多边形的方案数乘起来。

得到递归式:\(f_i = \sum_{j = 0}^{i - 1} f_j \times f_{i - j - 1}\)

一模一样。

二叉树的方案数

\(n\) 个点的二叉树有多少种。区分左儿子和右儿子,即把左右儿子直接交换也算新的。

二叉树也是非常经典的划分成两块的问题。所有还是枚举左儿子节点数,直接列出递归式。

\(f_i = \sum_{j = 0}^{i - 1} f_j \times f_{i - j - 1}\)

一模一样。

上述问题都是根据递归式来的。我们接下来讲一下:\(f_i = C_{2i}^{i} - C_{2i}^{i - 1}\)

二维平面路径问题

在一个二维平面坐标系上从 \((0,0)\)\((n,n)\),每次只可以先上走一步,或向右走一步,问有多少条路线。有唯一要求,走过的点必须在直线 \(y =x\) 下,即在任意时刻向上走的次数必须小于等于向右走的次数。

去掉唯一条件,就是用 \(n\) 个向上,\(n\) 个向右,问这 \(2n\) 个操作的所有排列。我们易得,在全是向上走的序列中,选 \(n\) 个出来变成向右。

考虑不合法路径,对任意一个不合法路径沿着直线 \(y = x + 1\) 镜像,所有不和法路径都到了这条线,且只有不和法路径到了这条线。镜像后终点变成了 \((n - 1,n+1)\) ,我们可以将不合法路径按上述方法一一映射成从 \((0,0)\)\((n - 1,n + 1)\) 的路径,一共还是有 \(2n\) 个操作,只不过是选 \(n - 1\) 个当向右。

最后得到式子:\(f_i = C_{2i}^{i} - C_{2i}^{i - 1}\)

不相交弦问题

一个圆周上有 \(2n\) 个点,用弦将任意两个链接起来,使得任意两条线不相交。

我们将线改写成一个起点,一个终点。钦定起点和顺时针遇到的第一个终点连成一条线。我们可以做到一个一一映射。

还是从可以相交的角度考虑,易得共有 \(C_{2i}^{i}\) 种方案。

不合法的情况一定是一个终点没得连,就是前面的起点全被匹配了,所以还是和上述的 二维平面路径问题 一样,即任意时刻起点的数量一定大于终点的数量。

最后得到:\(f_i = C_{2i}^{i} - C_{2i}^{i - 1}\)

More

卡特兰数在到处都存在:括号序列的数量,进栈出栈,312 排列…理解到其本质就是对问题的划分,选取发生事件方案进行一一映射。其实就很简单了。

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

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

相关文章

【嘉立创】SMT过程PCB载具和夹具有什么用?

SMT焊接时为什么会用到“载具、夹具” 2022-04-13 17:37 31437 4SMT焊接时为什么会用到“载具、夹具”一、 载具与夹具的使用场景载具: 主要是在印刷及贴片机贴装时,辅助生产使用。0.8mm以上的如拼板不合理会断板也需要使用。使用场景 1.PCB板薄: PCB板厚在0.4mm、 0.6mm、…

找到织梦CMS的数据库配置文件,以便了解数据库的具体连接信息

首先,找到织梦CMS的数据库配置文件,以便了解数据库的具体连接信息。 数据库配置文件路径织梦CMS安装目录假设织梦CMS安装在 /var/www/html 目录下。 数据库配置文件位于 include/config.inc.php。打开配置文件使用FTP工具或服务器上的文件管理器,打开织梦CMS安装目录下的 in…

织梦的数据库在哪,告诉我路径

织梦CMS(DedeCMS)的数据库并不是直接存储在文件系统中的某个特定路径下,而是存储在MySQL数据库服务器中。不过,织梦CMS的数据库配置文件和一些相关文件还是有固定的路径。以下是一些关键路径及其说明: 织梦CMS安装目录 假设你的织梦CMS安装在 /var/www/html 目录下,那么以…

vs code如何配置C/C++环境,实现完美运行.c/.cpp文件,以及终端乱码问题

环境配置 在 Visual Studio Code (VS Code) 中安装了 C/C++ Extension Pack 后,你可以通过以下步骤来运行 C++ 文件:安装编译器配置编译任务:在 VS Code 中,你可以创建一个编译任务来编译你的 C++ 文件。这通常通过创建一个 tasks.json 文件来完成。你可以通过以下步骤创建…

blender拖动视角到一定程度很慢

配置 win11 - blender3.6点击 编辑 - 偏好设置视图切换 - 旋转&平移 - 自动 - 深度(勾选)后期可根据需要进行勾选和取消勾选

查看织梦CMS源码中的数据库相关文件

如果你想查看织梦CMS源码中的数据库相关文件,可以参考以下路径:织梦CMS安装目录/var/www/html 这里包含织梦CMS的所有文件。核心文件/var/www/html/inc 包含一些核心配置文件。 /var/www/html/include 包含数据库配置文件 config.inc.php 和其他核心文件。数据库表前缀默认表…

uv --- replacement of conda + pip (python version + package version install) python版本和包管理集大成者

uv https://docs.astral.sh/uv/An extremely fast Python package and project manager, written in Rust. Installing Trios dependencies with a warm cache. Highlights🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, virtualenv, and more. ⚡️ 10…

织梦怎么进数据库,织梦网站源码在哪里看数据库

假设你的织梦CMS安装在 /var/www/html 目录下,且数据库配置如下:织梦CMS安装目录:/var/www/html数据库配置文件:/var/www/html/include/config.inc.php数据库配置:$cfg_dbhost = localhost; $cfg_dbname = mydatabase; $cfg_dbuser = myusername; $cfg_dbpw = mypassword;…

blender贴图丢失,贴图显示紫色

闲言 一般在模型复制粘贴或转移过程中, 发生贴图加载失败, 导致模型贴图位置显示紫色. 如果是上述相关情况, 那么本文章应能为你提供相关帮助. 本人配置: win11 - blender3.6(本案例演示版本) - blender4.2 打开丢失材质模型(.blend).fbx导入也是一样的, 这里不赘述.打开材质预…

R3CTF2024 WP

一、PWN1.Nullullullllu在直接给 libc_base 的情况下,一次任意地址写 \x00 。直接修改 IO_2_1_stdin 的 _IO_buf_base 末尾为 \x00 ,那么 _IO_buf_base 就会指向 IO_2_1_stdin 的 _IO_write_base,接下来就是利用 getchar 函数触发写操作修改 IO_buf_base 为 IO_2_1_stdout ,…

WMCTF 2024 wp

WEBPasswdStealer前言本来题目叫PasswdStealer的:)考点就是CVE-2024-21733在SpringBoot场景下的利用。漏洞基本原理参考 https://mp.weixin.qq.com/s?__biz=Mzg2MDY2ODc5MA==&mid=2247484002&idx=1&sn=7936818b93f2d9a656d8ed48843272c0不再赘述。SpringBoot场景…

Z-library数字图书馆镜像地址及客户端/app(持续更新)

Z-library数字图书馆介绍 Z-library,被誉为全球范围内最为庞大的数字图书馆之一,其藏书量之丰富令人叹为观止,总计囊括了超过9,826,996册电子书及84,837,646篇学术期刊文章。这座庞大的知识宝库覆盖了从经典文学巨著到前沿理工学科,从人文艺术瑰宝到专业学术论文的广泛领域…