Skip to content

Latest commit

 

History

History

3189

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

题目

给定一棵由 $n$ 个节点组成的树。

树的节点编号为 $1 \sim n$,其中 $1$ 号节点为树的根节点。

每个节点上都标有某种颜色。

$i$ 个节点上的颜色为 $c_i$

如果在以节点 $v$ 为根节点的子树中,没有任何颜色的出现次数超过颜色 $c$ 的出现次数,那么我们称颜色 $c$ 为该子树的主要颜色。

一些子树的主要颜色可能不止一种。

以节点 $v$ 为根节点的子树由节点 $v$ 以及到达根节点的路径中包含节点 $v$ 的其它所有节点共同组成。

对于每个节点 $v(1 \le v \le n)$,请你求出以该节点为根节点的子树的所有主要颜色之和。

输入格式

第一行包含整数 $n$

第二行包含 $n$ 个整数 $c_i$,表示每个节点的颜色编号。

接下来 $n-1$ 行,每行包含两个整数 $x,y$ 表示节点 $x$$y$ 之间存在一条边。

注意,节点 $1$ 为树的根节点。

输出格式

共一行,输出 $n$ 个整数,其中第 $i$ 个整数表示以节点 $i$ 为根节点的子树的所有主要颜色之和。

数据范围

$1 \le n \le 10^5$,

$1 \le c_i \le n$,

$1 \le x,y \le n$

输入样例1:

4
1 2 3 4
1 2
2 3
2 4

输出样例1:

10 9 3 4

输入样例2:

15
1 2 3 1 2 3 3 1 1 3 2 2 1 2 3
1 2
1 3
1 4
1 14
1 15
2 5
2 6
2 7
3 8
3 9
3 10
4 11
4 12
4 13

输出样例2:

6 5 4 3 2 3 3 1 1 3 2 2 1 2 3

题解