题意:告诉你一棵树的结构,要求满足下三个条件,求满足的序列有多少种。
1、每个节点只有一个数字;
2、作为儿子节点的编号要连续 也就是兄弟节点间的麻将编号要连续;
3、每棵子树的麻将编号要连续;
首先看样例就看了好久:告诉一棵树的结构是这样的
然后向结点放8个数字,满足的个数是16。
每种下边的三个小分队又是4种,4 * 4 = 16种。
分析:根节点必须是最大的,或者最小的,然后看子结点有几个,并且他们的子结点又有几个。
1 2 3 4 5 6 7 8(红色表示样例中的第二层节点的可能)(截区间)
1、选择1做根节点(2 3 4 5 6 7 8截成三段,保证三段长度分别是1,2,3),有2 3 4 5 |6| 7 8 和 2 3 |4| 5 6 7 8两种情况;
2、选择8做根节点(同理),有1 2 3 4 |5| 6 7和1 2 |3| 4 5 6 7两种情况;
3、有三个子结点的部分又可以转换成4种(根2个选择--最大最小,左右节点可以相互交换--2个选择);