时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。
输入描述:
一个数,n (n \leq 60000)n(n≤60000)
输出描述:
一个数s表示n节车厢出栈的可能排列方式
示例1
输入
3
输出
5
示例2
输入
50
输出
1978261657756160653623774456
ememmmm 这个证明卡特兰数怎么求呢?
参考闫学灿DALAO的B站视频
符合条件的入栈出栈序列都在y=x 这条线下面,一旦出现不合法的一定会在某一时刻经过y=x+1这条线。
什么叫符合条件:意思是一节车厢一定要先入栈在出栈不可能没入栈还出栈。所以拿x轴代表入栈 y轴代表出栈