logo AlgoBeat OnlineJudge
登录 注册

#215008. Trink

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

给定一棵以 为根结点的有根树 ,儿子之间有左右顺序。初始时, 只有一个结点

接下来有 次操作,第 次操作给出 ,你需要新建一个结点 作为 最右侧的儿子结点,加入树 。每次操作后,你需要回答以下问题:


对一棵树,定义「Trink 变换」为:

  • 同时考虑所有不为 的结点 ,如果 不是 父亲从左向右的第一个儿子,则把 的父亲改为所有在 左侧的兄弟中最靠右的一个。

问:对 最少执行多少次 Trink 变换后,树 满足,对树 继续进行一次 Trink 变换后,树 的形态保持不变。


询问之间互相独立。也就是说,并不会真的对原树进行「Trink 变换」。

输入格式

第一行,一个整数 )。

第二行, 个整数,依次表示 )。

输出格式

输出 行,第 行包含一个整数,表示第 次操作后的答案。

样例

样例输入 1

5
1 1 2 2 5

样例输出 1

0
1
2
3
4

数据范围与提示

样例解释

对于最后一次询问,以下展示了第 次操作后,树 的形态: