卡特兰数相关
卡特兰数 公式 1.递推式1(定义式):f(n)=sigma(f[i]*f[n-i-1])(0<=i<=n-1) 2.递推式2:f(n+1)=f(n)*(4n+2)/(n+2); f[n]=f(n-1)*(4n-2)/(n+1) 注:递推式中f(0)=1; 3.通项公式1:f(n)=C(2n,n)/(n+1); 4.通项公式2:f(n)=C(2n,n)-C(2n,n+1); 证明 博客推荐:(部分内容来自此博客) https://www.cnblogs.com/zyt1253679098/p/9190217.html 在上文提到的出栈序列的问题情景中,如果有n个元素,在平面直角坐标系中用x坐标表示入栈数,y坐标表示出栈数,则坐标(a,b)表示目前已经进行了a次入栈和b次出栈,则再进行一次入栈就是走到(a+1,b),再进行一次出栈就是走到(a,b+1)。并且,由于入栈数一定小于等于出栈数,所以路径不能跨越直线y=x 因此,题目相当于求从(0,0)走到(n,n)且不跨越直线y=x的方案数 方案数=总方案数-不合法方案数; 首先,如果不考虑不能跨越直线y=x的要求,相当于从2n次操作中选n次进行入栈,相当于从2n个位置选n个位置作为入栈时间,则方案数为C(2n,n),这是总方案数。 (卡特兰数其他公式的数学证明详见推荐的博客,~~打符号太麻烦了~~) 应用 1、一个栈(无穷大