CF1606F.Tree Queries
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given a tree consisting of n vertices. Recall that a tree is an undirected connected acyclic graph. The given tree is rooted at the vertex 1 .
You have to process q queries. In each query, you are given a vertex of the tree v and an integer k .
To process a query, you may delete any vertices from the tree in any order, except for the root and the vertex v . When a vertex is deleted, its children become the children of its parent. You have to process a query in such a way that maximizes the value of c(v)−m⋅k (where c(v) is the resulting number of children of the vertex v , and m is the number of vertices you have deleted). Print the maximum possible value you can obtain.
The queries are independent: the changes you make to the tree while processing a query don't affect the tree in other queries.
输入格式
The first line contains one integer n ( 1≤n≤2⋅105 ) — the number of vertices in the tree.
Then n−1 lines follow, the i -th of them contains two integers xi and yi ( 1≤xi,yi≤n ; xi=yi ) — the endpoints of the i -th edge. These edges form a tree.
The next line contains one integer q ( 1≤q≤2⋅105 ) — the number of queries.
Then q lines follow, the j -th of them contains two integers vj and kj ( 1≤vj≤n ; 0≤kj≤2⋅105 ) — the parameters of the j -th query.
输出格式
For each query, print one integer — the maximum value of c(v)−m⋅k you can achieve.
输入输出样例
输入#1
8 6 7 3 2 8 3 5 7 7 4 7 1 7 3 6 1 0 1 2 1 3 7 1 5 0 7 200000
输出#1
5 2 1 4 0 4
说明/提示
The tree in the first example is shown in the following picture:
Answers to the queries are obtained as follows:
- v=1,k=0 : you can delete vertices 7 and 3 , so the vertex 1 has 5 children (vertices 2 , 4 , 5 , 6 , and 8 ), and the score is 5−2⋅0=5 ;
- v=1,k=2 : you can delete the vertex 7 , so the vertex 1 has 4 children (vertices 3 , 4 , 5 , and 6 ), and the score is 4−1⋅2=2 .
- v=1,k=3 : you shouldn't delete any vertices, so the vertex 1 has only one child (vertex 7 ), and the score is 1−0⋅3=1 ;
- v=7,k=1 : you can delete the vertex 3 , so the vertex 7 has 5 children (vertices 2 , 4 , 5 , 6 , and 8 ), and the score is 5−1⋅1=4 ;
- v=5,k=0 : no matter what you do, the vertex 5 will have no children, so the score is 0 ;
- v=7,k=200000 : you shouldn't delete any vertices, so the vertex 7 has 4 children (vertices 3 , 4 , 5 , and 6 ), and the score is 4−0⋅200000=4 .