首页 > ACM题库 > HDU-杭电 > hdu 4645 Query on a tree VII待解决[解题报告]C++
2015
09-17

hdu 4645 Query on a tree VII待解决[解题报告]C++

Query on a tree VII

问题描述 :

You are given a tree (an acyclic undirected connected graph) with n nodes. The tree nodes are numbered from 1 to n.
Each node has a color, white or black, and a weight.
We will ask you to perfrom some instructions of the following form:
0 u : ask for the maximum weight among the nodes which are connected to u, two nodes are connected if all the node on the path from u to v (inclusive u and v) have a same color.
1 u : toggle the color of u(that is, from black to white, or from white to black).
2 u w: change the weight of u to w.

输入:

Multicase.
The first line contains a number n denoted how many nodes in the tree(1 ≤ n ≤ 105). The next n – 1 lines, each line has two numbers (u, v) describe a edge of the tree(1 ≤ u, v ≤ n).

The next 2 lines, each line contains n number, the first line is the initial color of each node(0 or 1), and the second line is the initial weight, let’s say Wi, of each node(|Wi| ≤ 109).

The next line contains a number m denoted how many operations we are going to process(1 ≤ m ≤ 105). The next m lines, each line describe a operation (t, u) as we mentioned above(0 ≤ t ≤ 2, 1 ≤ u ≤ n, |w| ≤ 109).

输出:

Multicase.
The first line contains a number n denoted how many nodes in the tree(1 ≤ n ≤ 105). The next n – 1 lines, each line has two numbers (u, v) describe a edge of the tree(1 ≤ u, v ≤ n).

The next 2 lines, each line contains n number, the first line is the initial color of each node(0 or 1), and the second line is the initial weight, let’s say Wi, of each node(|Wi| ≤ 109).

The next line contains a number m denoted how many operations we are going to process(1 ≤ m ≤ 105). The next m lines, each line describe a operation (t, u) as we mentioned above(0 ≤ t ≤ 2, 1 ≤ u ≤ n, |w| ≤ 109).

样例输入:

5
1 2
1 3
1 4
1 5
0 1 1 1 1
1 2 3 4 5
3
0 1
1 1
0 1
7
1 2
1 3
2 4
2 5
3 6
3 7
0 0 0 0 0 0 0
1 2 3 4 5 6 7
4
0 1
1 1
0 2
0 3

样例输出:

1
5
7
5
7