1、全错排的递推公式为:
【解释】
个整数编号为
进行全排列,编号为
的数字不排在位置
处,则为错排。全错排则是所有数字均排错。
【相关题目】
杭电2049
2、卡特兰数:
【解释】卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 1,1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796,...(
)
【递推公式】
所有的奇卡塔兰数
都满足
所有其他的卡塔兰数都是偶数。
卡塔兰数的渐近增长为
【相关题目】1):给出一个n,要求一个长度为2n的01序列,使得序列的任意前缀中1的个数不少于0的个数。(求
即可)
2):
表示所有包含n组括号的合法运算式的个数。 n对左右括号。((())) ()(()) ()()() (())() (()())
3):
表示有n+1个叶子的二叉树的个数
4):
表示所有在n × n格点中不越过对角线的单调路径的个数 (一个单调路径从格点左下角出发,在格点右上角结束,每一步均为向上或向右 )
5):
表示通过连结顶点而将n + 2边的凸多边形分成三角形的方法个数
下图中为n = 4的情况:
6):
表示用n个长方形填充一个高度为n的阶梯状图形的方法个数
下图为 n = 4的情况:
7):
表示所有不同构的含n个分枝结点的满二叉树的个数(一个有根二叉树是满的当且仅当每个结点都有两个子树或没有子树)
8):
表示集合
的不交叉划分的个数. 其中每个段落的长度为2
9):
表示对
依序进出栈的置换个数
【经典问题总结】
1):括号化问题
矩阵连乘:
,依据乘法结合律,不改变其顺序,只用括号表示成对的乘积,试问有几种括号化的方案?(
)
2):出栈次序问题
一个栈(无穷大)的进栈序列为
有多少个不同的出栈序列?
类似:
(1)有2n个人排成一行进入剧场。入场费5元。其中只有n个人有一张5元钞票,另外n人只有10元钞票,剧院无其它钞票,问有多少中方法使得只要有10元的人买票,售票处就有5元的钞票找零?(将持5元者到达视作将5元入栈,持10元者到达视作使栈中某5元出栈)
(2)在圆上选择2n个点,将这些点成对连接起来,使得所得到的n条线段不相交的方法数。
3):将多边行划分为三角形问题(将一个凸多边形区域分成三角形区域的方法数? )
类似:一位大城市的律师在她住所以北n个街区和以东n个街区处工作。每天她走2n个街区去上班。如果她从不穿越(但可以碰到)从家到办公室的对角线,那么有多少条可能的道路?
4):给顶节点组成二叉树的问题
给定N个节点,能构成多少种形状不同的二叉树?
先去一个点作为顶点,然后左边依次可以取0至N-1个相对应的,右边是N-1到0个,两两配对相乘,就是
【参考资料】
CSDN博客 卡特兰数(好像很有用的说)
百度百科 卡特兰数