#XMOJ11383. 近似完全二叉树
近似完全二叉树
说明
时间限制:1 Sec
内存限制:256 MB
输入文件:tree.in 输出文件:tree.out
近似完全二叉树是指由 $2^K - 1$ 个结点构成的二叉树,且树的高度满足 $K \le h \le 3K$。
这里的高度定义为:每条边长度为 $1$ 时,从根结点到最远结点的距离。
今天你需要构造一棵这样的近似完全二叉树。
构造规则由排列 $P_1,P_2,\dots,P_{2^K-1}$ 决定,该排列是 $\{1,2,\dots,2^K-1\}$ 的一个重排。
具体构造方式为:从空二叉搜索树 $T$ 开始,按顺序依次插入 $P_1,P_2,\dots,P_{2^K-1}$。
向二叉搜索树 $G$ 中插入值 $v$ 的规则递归定义如下:
- 如果 $G$ 为空,则令 $v$ 为 $G$ 的根。
- 如果 $G$ 非空,则将 $v$ 与根结点的值比较:若 $v$ 更小,则插入左子树;否则插入右子树。
以 $K=2$ 为例:
- 由排列 $(1,3,2)$ 得到的二叉树高度为 $2$,是近似完全二叉树。
- 由排列 $(2,1,3)$ 得到的二叉树高度为 $1$,不是近似完全二叉树。
请你构造任意一个满足条件的排列 $P$,使得按上述规则生成的二叉搜索树 $T$ 是近似完全二叉树。
题目保证至少存在一个解。输入格式
一行一个整数 $K$。
输出格式
输出一行,用空格分隔的排列 $P$,满足题目要求。
只要符合条件,任意输出一个解均可。
样例
样例 1
2
1 3 2
样例说明:
满足条件的排列共有 个:,它们构造出的树高度均为 。
而 构造出的树高度为 ,不满足条件。样例 2
3
5 3 2 4 1 6 7
数据范围
对于 100% 的数据,$2 \le K \le 13$。
相关
在下列比赛中: