题目描述
给定一个包含 N 个顶点的树,编号从1到 N。
树中的第i条边连接顶点ai和bi。
另外,每个顶点都被涂上了一种颜色,第i个顶点的颜色是 ci。
这里,每个顶点的颜色用一个1到 N 之间(包括边界)的整数表示。
同样的整数代表相同的颜色,不同的整数代表不同的颜色。
对于每个k=1,2,…,N,解决以下问题:
找到访问至少一个被染上颜色的顶点的简单路径的数量,注意:从顶点 u 到υ和从 υ到 u的简单路径是没有区别的。
输入格式
第一行一个整数 n。
接下来一行 n 个整数,表示 ci。
接下来第 3 到第 n+1 行,每行两个整数 ui,vi,描述一条树边。
输出格式
输出 n 行,一行一个整数,分别表示对于颜色 1,2,...,n 的答案。
样例解释
设 Pi,j表示连接顶点i和 j的简单路径.
有 5 条访问至少一个被染上颜色 1 的顶点的简单路径
P1,1,P1,2,P1,3,P2,3,P3,3
有 4 条访问至少一个被染上颜色 2的顶点的简单路径P1,2,P1,3,P2,2,P2,3
没有访问至少一个被染上颜色 3 的顶点的简单路径,
提示
- 1 ≤ N ≤ 2 × 105
- 1 ≤ ci ≤ N
- 1 ≤ ai,bi ≤ N
- 给定的图是一棵树。
- 输入中的所有值都是整数。