3161: MEX排序树

时间限制:1000 ms 内存限制:128 MB
上传者:
提交:15 通过:3

题目描述

定义一个 MEX 操作,对于一个正整数集合,MEX 操作的结果为集合中没有出现的最小正整数。例如 MEX(2, 3, 4)=1, MEX(1, 2, 4)=3。

现在有一棵二叉搜索树也叫二叉排序树(任一结点的权值——左孩子节点权值 < 该节点权值 < 右孩子节点权值),树中节点个数为 $n$ ($1\le n\le 100000$) ,节点的值范围为 $w$($1\le w\le n$),并且每个节点的值各不相同,分别求以值为 $i$ 的节点为根的子树组成的值的集合的 MEX 为多少。

输入格式

第一行为一个整数 $n$, $1\le n\le 100000$,表示节点的个数

接下来一行为 n 个数,用空格隔开,表示二叉搜索树先序遍历的结果序列(先序遍历——先访问根节点,再递归遍历左孩子最后递归遍历右孩子)
该二叉搜索树的先序遍历结果为 先序:1 2 4 6 7 8 3 5

输出格式

共一行,总共 $n$ 个数,第 $i$ 个数表示以值为 $i$ 的节点为根的子树组成的值的集合的 MEX。

输入样例 复制

5
1 3 2 4 5

输出样例 复制

6 1 1 1 1