1. 一些公式
1.1. 递推式
[H_n=sum_{i=0}^{n-1}H_icdot H_{n-i-1} ]
原问题可以转化为:在平面直角坐标系中,从 ((0,0)) 到 ((n,n)) 的不越过 (y=x) 的方案数。
于是我们可以枚举 (i),表示这种路径经过 ((i,i)) 却不经过 ((j,j),jin(i,n))。这样计算是不重不漏的。经过 ((i,i)) 的方案数是 (H_i),对于后面的方案,容易发现满足条件时一定有这两步:((i,i) ightarrow (i+1,i),(n,n-1) ightarrow (n,n))。这就变成一个大小为 (n-i-1) 的子问题。所以递推式正确。
1.2. 通项式
[H_n=inom{2n}{n}-inom{2n}{n+1} ][=frac{1}{n+1}cdot inom{2n}{n} ]
事实上,我们可以用类似的方法分析另一个问题:在平面直角坐标系中,从 ((0,0)) 到 ((n,m)) 的不越过 (y=x+b-1) 的方案数(默认 ((n,m)) 在 (y=x+b) 的右下方,不是应该也类似)。
我们将 ((n,m)) 沿 (y=x+b) 对称,得到对称点 ((m-b,n+b))。那么就有:
[ ext{Ans}=inom{n+m}{n}-inom{n+m}{n+b}
]
1.3. 递推式'
[H_{n+1}=frac{4n+2}{n+2}cdot H_n ]
2. 一些题目
例 1.
经典模型
F.A.Q.
对于有 (n+1) 个叶子的满二叉树个数?戳这。
(n) 个长方形填充一个高度为 (n) 的阶梯状图形的方法个数?
首先由于有 (n) 个阶梯,我们必须保证每个长方形填一个阶梯,因为一个长方形不可能填两个阶梯。问题就和
1.1. 递推式
很类似了:枚举填了左上角的长方形填了哪个阶梯,就可以划分成两个子问题。