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


题目描述
原题来自:AHOI 2012
暑假期间,小龙报名了一个模拟野外生存作战训练班来锻炼体魄,训练的第一个晚上,教官就给他们出了个难题。由于地上露营湿气重,必须选择在高处的树屋露营。小龙分配的树屋建立在一颗高度为 尺的大树上,正当他发愁怎么爬上去的时候,发现旁边堆满了一些空心四方钢材(如图),经过观察和测量,这些钢材截面的宽和高大小不一,但都是 尺的整数倍。教官命令队员们每人选取 个空心钢材来搭建一个总高度为 尺的阶梯来进入树屋,该阶梯每一步台阶的高度为 尺,宽度也为 尺。如果这些钢材有各种尺寸,且每种尺寸数量充足,那么小龙可以有多少种搭建方法?
注:为了避免夜里踏空,钢材空心的一面绝对不可以向上(即钢材可以旋转,但空心面必须朝下或朝侧面)。
图例说明:
题目原图展示了用不同高度和宽度的矩形钢材(1×1, 1×2, 2×1, 2×2 等)拼成一个直角阶梯状结构,每层高度1尺,宽度1尺,整体是一个高度 尺、宽度 尺的直角楼梯形状。
输入格式
一个正整数 ,表示阶梯的高度。
输出格式
一个正整数,表示搭建方法的个数。
注:搭建方法个数可能很大,此题不需要取模,直接输出完整整数。
样例
样例输入
3
样例输出
5
样例解释
时,共有 种不同的搭建方法。
这 种方法如图(原题附图)所示,对应卡特兰数 。
数据范围
对于全部数据,。
时空限制
- 时间:
- 内存:
提示
该问题等价于用 个矩形(尺寸任意,但必须边长整数尺)无重叠地拼成一个直角楼梯形状( 级台阶,每级高 宽 )。这等价于凸多边形三角剖分或卡特兰数问题。
结论:答案为第 个卡特兰数:
其中 最大为 , 的值非常大(位数约 位),因此需要使用高精度计算卡特兰数。