ztr loves trees
Time Limit: 6000/2500 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 611 Accepted Submission(s): 133
Problem Description
Super Deity ztr likes trees from childhood,CCTV-children:"The apple on the apple tree.You and I under the apple tree.Play games in front of the apple tree.So many happiness".
One day,qzh visit ztr to ask some questions.To give a tree with a root,each vertex has a value.Each time query the median of a subtree.
ztr said:this is a water problem,do you do it?But qzh show cannot help but want you who is also a Super Deity to help him.Could you help him?
Input
There are T test cases. The first line of input contains an positive integer T indicating the number of test cases.
For each test case:
Each line contains two positive integer n,m.indicating the number of vetrex and the number of query times.
The next line contains n numbers, the ith number indicating the value of vertex i.
The next n-1 lines,each line contains two numbers u and v,indicating there is a edge form u to v.
The next m lines, each line contains a numbers x.indicating query the median of subtree x.
1<=T<=3,1<=n<=105,1<=m<=106,1<=u<=v<=n,1<=val<=109.
The vetrex 1 is the root of the tree.Guarantee input a tree with a root.
Output
For each test case:print a line.To avoid huge output,you should hash each answer first,then print it.
The method to hash:a[i] indicates the ith query result,
ans=∑a[i]∗10m−imod1,000,000,007 Round to the nearest tenth
Sample Input
1 5 3 1 2 3 4 5 1 2 2 3 3 4 4 5 1 2 3
Sample Output
Source
BestCoder Round #82 (div.2)
Recommend
wange2014
题意:给一颗有根树,树上的每一个节点有一个权值,每次询问某个子树中所有权值的中位数
解题思路:dfs序+主席树即可
#include
#include
#include
#include
#include
#include
#include