1142 : Tree Intersection
| 比对Compare | token 相同即通过。中间的空格、制表符、换行可多可少。Matching tokens pass. Extra spaces, tabs, or newlines between them are ignored. |
|---|---|
| 不同则错Differs | token 个数或内容不同即错误。23 与 2 3、02 与 2、2.0 与 2 均视为不同。A different token count or value is wrong. 23 vs 2 3, 02 vs 2, and 2.0 vs 2 all differ. |
| 输入Input | 标准输入,格式见题面。Standard input; format as in the statement. |
| 输出Output | 标准输出。Standard output. |
点击可查看各语言的读写示例。 Click for I/O samples in each language.
题目描述Description
Bobo has a tree with n vertices numbered by 1,2,…,n and (n-1) edges. The i-th vertex has color ci, and the i-th edge connects vertices ai and bi.
Let C(x,y) denotes the set of colors in subtree rooted at vertex x deleting edge (x,y).
Bobo would like to know Ri which is the size of intersection of C(ai, bi) and C(bi, ai) for all 1 ≤ i ≤ (n − 1). (i.e. |C(ai, bi) ∩ C(bi, ai)|)
输入格式Input
The input contains at most 15 sets. For each set:
The first line contains an integer n(2 ≤ n ≤ 105).
The second line contains n integers c1, c2, …, cn(1 ≤ ci ≤ n).
The i-th of the last (n-1) lines contains 2 integers ai, bi(1 ≤ ai, bi ≤ n).
输出格式Output
For each set, (n-1) integers R1, R2, …, Rn − 1.
样例Sample
出题Author
ftiasch