Catalan 数模型总结 & (或许会有)习题分析


Catalan 式子

\(Cat_n=\binom {2n} {n}-\binom {2n}{n-1}\)
\(Cat_n=\binom {2n} {n}/(n+1)\)
\(Cat_n=Cat_{n-1}*\frac {4n-2} {n+1}\)


求Catalan(组合)数的方法
  1. \(\mathcal{O}(n^2)+\mathcal{O}(1)\) 暴力转移。
  2. \(\mathcal{O}(n)+\mathcal{O}(1)\) 组合数算。
  3. \(\mathcal{O}(0)+\mathcal{O}(\sqrt n)\) 分解质因数算。
  4. \(\mathcal{O}(n)+\mathcal{O}(1)\) 用 Catalan 数的递推公式算。

\(n\) 边形的三角剖分

\(n+2\) 边形进行三角剖分的方案数是 \(Cat_n\)。证明懒得写了,不难。


括号匹配

\(n\) 个左括号和 \(n\) 个右括号匹配的方案数是 \(Cat_n\)


二维路径

\((0,0)\) 走到 \((n,n)\),每次只能向右或向上走,不能碰到对角线的方案数为 \(Cat_n\)。不能超过对角线的方案数为 \(Cat_{n-1}\)。证明可以看此题:abc205e。事实上,Catalan 数的通项的证明之一就是这个。这也是个常见的 trick。


圆周染色

将圆周上 \(2n+1\) 个选择 \(n\) 个点染色,方案数为 \(Cat_n\)
我目前会的证明只是简单的:\(ans=\binom {2n+1} {n}/(2n+1)=\binom {2n}{n}/(n+1)=Cat_n\)


弦互不相交

将圆周上的 \(2n\) 个点两两连接,方案数为 \(Cat_n\)
PF:还是老套路,钦定 \(1\) 与那个点连边。\(dp_{i}=\sum_{j=2}^{2n}dp_{j-2}\times dp_{i-j}\)。考虑这里下标为奇数的 dp 值为 \(0\)。所以这里参与转移的 \(i,j\) 其实都是偶数。那考虑将 \(i,j\) 全都除以 \(2\)。则 \(dp_i=\sum_{j=1}^ndp_{j-1}\times dp_{i-j}\),即证。

\(n\) 元有序数组的集
排列问题

我们有长度分别为 \(n\) 单调递增的数列 \(\{a\}\{b\}\),打乱重排为长度为 \(2n\) 的全排列。满足 \(\forall a_i>b_i\) 的方案数为 \(Cat_n\)
PF:将全排列中属于两个不同集合的数染成不同的颜色,要满足:\(\forall pre_{a_i}\le pre_{b_i}\),即证。

投票记录
夏皮罗曲线

咕。


p.s. 此篇博客借鉴于 link。