#zHSXybttg060615. 1662:树屋阶梯

1662:树屋阶梯

好的,我将这道题整理为清晰的题面格式,并补充样例解释、数据范围与时空限制:


题目描述

原题来自:AHOI 2012

暑假期间,小龙报名了一个模拟野外生存作战训练班来锻炼体魄,训练的第一个晚上,教官就给他们出了个难题。由于地上露营湿气重,必须选择在高处的树屋露营。小龙分配的树屋建立在一颗高度为 N+1N+1 尺的大树上,正当他发愁怎么爬上去的时候,发现旁边堆满了一些空心四方钢材(如图),经过观察和测量,这些钢材截面的宽和高大小不一,但都是 11 尺的整数倍。教官命令队员们每人选取 NN 个空心钢材来搭建一个总高度为 NN 尺的阶梯来进入树屋,该阶梯每一步台阶的高度为 11 尺,宽度也为 11 尺。如果这些钢材有各种尺寸,且每种尺寸数量充足,那么小龙可以有多少种搭建方法?

:为了避免夜里踏空,钢材空心的一面绝对不可以向上(即钢材可以旋转,但空心面必须朝下或朝侧面)。


图例说明
题目原图展示了用不同高度和宽度的矩形钢材(1×1, 1×2, 2×1, 2×2 等)拼成一个直角阶梯状结构,每层高度1尺,宽度1尺,整体是一个高度 NN 尺、宽度 NN 尺的直角楼梯形状。


输入格式

一个正整数 NN,表示阶梯的高度。


输出格式

一个正整数,表示搭建方法的个数。

:搭建方法个数可能很大,此题不需要取模,直接输出完整整数。


样例

样例输入

3

样例输出

5

样例解释

N=3N=3 时,共有 55 种不同的搭建方法。
55 种方法如图(原题附图)所示,对应卡特兰数 C3=5C_3 = 5


数据范围

对于全部数据,1N5001 \le N \le 500


时空限制

  • 时间:1000 ms1000 \text{ ms}
  • 内存:524288 KB524288 \text{ KB}

提示
该问题等价于用 NN 个矩形(尺寸任意,但必须边长整数尺)无重叠地拼成一个直角楼梯形状(NN 级台阶,每级高 1111)。这等价于凸多边形三角剖分卡特兰数问题。

结论:答案为第 NN 个卡特兰数:

CN=1N+1(2NN)C_N = \frac{1}{N+1} \binom{2N}{N}

其中 NN 最大为 500500(2NN)\binom{2N}{N} 的值非常大(位数约 300300 位),因此需要使用高精度计算卡特兰数。