浅谈 Catalan 数
Preface
Catalan 组合数学 真是一个神奇的东西
Catalan 的精髓是推递推式, 只不过很多问题的递推式会收敛到 Catalan 的递推式(只能说是一种推递推的思想)
Start up
二叉树种类
分治的思想, 左+自己+右, 把问题化小
当然, 初始值
合法数列
个 和 个 构成 项 ,其部分和满足 对与 该数列为?
乍一看好像很难, 但是我们仔细分析一下
好像不方便直接得到结果, 那就容斥原理
我们用总量减去不合法量
总量
这个不难, 我们把 个 +1
放在 长 数列里面, 其他的都是 -1
那么这里就是
不合法量
首先我们考虑不合法的情况
而只有一种情况会导致不合法
那就是
一组解
: 一串序列
|A|
: 求序列长度
设 是一组合法解, 是任意序列(同时满足 中缺少且仅缺少一个 且有 )
即 +=2n-1
此处代表序列拼接(下同)
显然此时有 是一组不合法解
注意, 此时虽然是不合法解, 但是此时 中 和 的数量都为
有无什么好方法区分合法解和不合法解呢?
我们设(其实就是"取反" 序列)
那么现在 就是一个多了且仅多了一个 的序列(从少一个到多一个了呢)
那么现在 就是一组有 个 和 个 的序列
好像区分开了, 来验证一下可行性
考虑是否能做到不重不漏
仔细思考 和 是一个双射集合
也就是说 所有的不合法解都对应一个如此这般的
那么如何统计呢?
简单, 枚举 或 的数量都可以
那就是 或
最终解
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 静谧之园!