CF1712F.Triameter
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
— What is my mission?
— To count graph diameters.
You and Your Submission
A tree is a connected undirected graph without cycles. A weighted tree has a weight assigned to each edge. The degree of a vertex is the number of edges connected to this vertex.
You are given a weighted tree with n vertices, each edge has a weight of 1 . Let L be the set of vertices with degree equal to 1 .
You have to answer q independent queries. In the i -th query:
- You are given a positive integer xi .
- For all u,v∈L such that u<v , add edge (u,v) with weight xi to the graph (initially the given tree).
- Find the diameter of the resulting graph.
The diameter of a graph is equal to 1≤u<v≤nmaxd(u,v) , where d(u,v) is the length of the shortest path between vertex u and vertex v .
输入格式
The first line contains a single integer n ( 3≤n≤106 ).
The second line contains n−1 integers p2,p3,…,pn ( 1≤pi<i ) indicating that there is an edge between vertices i and pi . It is guaranteed that the given edges form a tree.
The third line contains a single integer q ( 1≤q≤10 ).
The fourth line contains q integers x1,x2,…,xq ( 1≤xi≤n ). All xi are distinct.
输出格式
Print q integers in a single line — the answers to the queries.
输入输出样例
输入#1
4 1 2 2 4 1 2 3 4
输出#1
1 2 2 2
输入#2
7 1 2 3 4 2 1 7 2 1 3 7 5 6 4
输出#2
3 3 4 5 5 5 4
输入#3
3 1 2 1 1
输出#3
1
说明/提示
The graph in the first test after adding the edges: