CF600E.Lomsat gelral

提高+/省选-

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a rooted tree with root in vertex 1. Each vertex is coloured in some colour.

Let's call colour c dominating in the subtree of vertex v if there are no other colours that appear in the subtree of vertex v more times than colour c. So it's possible that two or more colours will be dominating in the subtree of some vertex.

The subtree of vertex v is the vertex v and all other vertices that contains vertex v in each path to the root.

For each vertex v find the sum of all dominating colours in the subtree of vertex v.

给你一棵以顶点 1 为根的有根树。每个顶点被染成某种颜色。

我们称颜色 cc 在顶点 vv 的子树中是主导颜色,当且仅当在顶点 vv 的子树中,没有任何其他颜色出现的次数严格多于颜色 cc。因此,某个顶点的子树中可能存在两种或更多种主导颜色。

顶点 vv 的子树定义为:顶点 vv 本身,以及所有满足“从该顶点到根的每条路径都经过顶点 vv”的其他顶点。

对每个顶点 vv,求其子树中所有主导颜色的颜色编号之和。

输入格式

The first line contains integer n (1 ≤ n ≤ 105) — the number of vertices in the tree.

The second line contains n integers c__i (1 ≤ c__i ≤ n), c__i — the colour of the i-th vertex.

Each of the next n - 1 lines contains two integers x__j, y__j (1 ≤ x__j, y__j ≤ n) — the edge of the tree. The first vertex is the root of the tree.

第一行包含一个整数 nn(1≤n≤1051 \leq n \leq 10^5)——树中顶点的数量。

第二行包含 nn 个整数 cic_i(1≤ci≤n1 \leq c_i \leq n),其中 cic_i 表示第 ii 个顶点的颜色。

接下来的 n−1n-1 行,每行包含两个整数 xj,yjx_j, y_j(1≤xj,yj≤n1 \leq x_j, y_j \leq n)——树中的一条边。第一个顶点为树的根节点。

输出格式

Print n integers — the sums of dominating colours for each vertex.

输出 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

输入解题思路,AI测评打分。不知道怎么写?

首页