CF1740H.MEX Tree Manipulation
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Given a rooted tree, define the value of vertex u in the tree recursively as the MEX † of the values of its children. Note that it is only the children, not all of its descendants. In particular, the value of a leaf is 0 .
Pak Chanek has a rooted tree that initially only contains a single vertex with index 1 , which is the root. Pak Chanek is going to do q queries. In the i -th query, Pak Chanek is given an integer xi . Pak Chanek needs to add a new vertex with index i+1 as the child of vertex xi . After adding the new vertex, Pak Chanek needs to recalculate the values of all vertices and report the sum of the values of all vertices in the current tree.
† The MEX (minimum excluded) of an array is the smallest non-negative integer that does not belong to the array. For example, the MEX of [0,1,1,2,6,7] is 3 and the MEX of [6,9] is 0 .
输入格式
The first line contains a single integer q ( 1≤q≤3⋅105 ) — the number of operations.
Each of the next q lines contains a single integer xi ( 1≤xi≤i ) — the description of the i -th query.
输出格式
For each query, print a line containing an integer representing the sum of the new values of all vertices in the tree after adding the vertex.
输入输出样例
输入#1
7 1 1 3 2 5 2 1
输出#1
1 1 3 2 4 4 7
输入#2
8 1 1 1 1 5 6 7 8
输出#2
1 1 1 1 3 2 4 3
说明/提示
In the first example, the tree after the 6 -th query will look like this.
- Vertex 7 is a leaf, so its value is 0 .
- Vertex 6 is a leaf, so its value is 0 .
- Vertex 5 only has a child with value 0 , so its value is 1 .
- Vertex 4 is a leaf, so its value is 0 .
- Vertex 3 only has a child with value 0 , so its value is 1 .
- Vertex 2 has children with values 0 and 1 , so its value is 2 .
- Vertex 1 has children with values 1 and 2 , so its value is 0 .
The sum of the values of all vertices is 0+0+1+0+1+2+0=4 .