1. 一些公式

1.1. 递推式

\[H_n=\sum_{i=0}^{n-1}H_i\cdot H_{n-i-1} \]

原问题可以转化为:在平面直角坐标系中,从 \((0,0)\)\((n,n)\) 的不越过 \(y=x\) 的方案数。

于是我们可以枚举 \(i\),表示这种路径经过 \((i,i)\) 却不经过 \((j,j),j\in(i,n)\)。这样计算是不重不漏的。经过 \((i,i)\) 的方案数是 \(H_i\),对于后面的方案,容易发现满足条件时一定有这两步:\((i,i)\rightarrow (i+1,i),(n,n-1)\rightarrow (n,n)\)。这就变成一个大小为 \(n-i-1\) 的子问题。所以递推式正确。

1.2. 通项式

\[H_n=\binom{2n}{n}-\binom{2n}{n+1} \]

\[=\frac{1}{n+1}\cdot \binom{2n}{n} \]

\(\mathcal{P}{\rm ortal.}\)

事实上,我们可以用类似的方法分析另一个问题:在平面直角坐标系中,从 \((0,0)\)\((n,m)\) 的不越过 \(y=x+b-1\) 的方案数(默认 \((n,m)\)\(y=x+b\) 的右下方,不是应该也类似)。

我们将 \((n,m)\) 沿 \(y=x+b\) 对称,得到对称点 \((m-b,n+b)\)。那么就有

\[\text{Ans}=\binom{n+m}{n}-\binom{n+m}{n+b} \]

1.3. 递推式'

\[H_{n+1}=\frac{4n+2}{n+2}\cdot H_n \]

大概就是用通项公式推一推就行了(

2. 一些题目

经典模型

F.A.Q.

  • 对于有 \(n+1\) 个叶子的满二叉树个数?戳这。实际是因为这样的满二叉树一定有 \(n\) 个内点。

  • \(n\) 个长方形填充一个高度为 \(n\) 的阶梯状图形的方法个数?

    首先由于有 \(n\) 个阶梯,我们必须保证每个长方形填一个阶梯,因为一个长方形不可能填两个阶梯。问题就和 1.1. 递推式 很类似了:枚举填了左上角的长方形填了哪个阶梯,就可以划分成两个子问题。

[HNOI 2009] 有趣的数列

我这辈子都想不到这也能是卡特兰数。

由于限制三,偶数位上数字有一个特别的限制 —— 偶数位上数字必须大于位置之前的每一个数。

现在将 \([1,2n]\) 中的数字按顺序填到奇/偶数位,由于限制二,肯定是奇/偶数位分别按顺序填。考虑如果发生填上当前填的数后,偶数位上填的数字个数大于奇数位上填的数字个数,此时一定不合法。为啥呢?考虑当前填上数字权值一定为 \(2p+1\),而且填到偶数位的第 \(p+1\) 个位置,而这个偶数位是总序列的第 \(2p+2\) 个位置,也就是说这个位置上的数至少要 \(2p+2\),所以不合法。

于是答案就是 \(H_n\).

3. 生成函数

\(\rm Link.\)

posted on 2020-03-31 16:04  Oxide  阅读(50)  评论(0编辑  收藏  举报