MÀU THỐNG TRỊ

Bạn được cho một cây gốc (rooted tree) với đỉnh gốc là đỉnh số 1. Mỗi đỉnh trong cây được tô một màu nào đó. Chúng ta gọi màu \(c\) là màu thống trị trong cây con của đỉnh \(v\) nếu không có màu nào khác xuất hiện nhiều hơn màu \(c\) trong cây con của đỉnh \(v\). Có thể có nhiều hơn một màu thống trị trong cùng một cây con. Cây con của một đỉnh \(v\) bao gồm: Chính đỉnh \(v\), và Tất cả các đỉnh khác nằm phía dưới \(v\) trong cây (nghĩa là: mọi đỉnh mà đường đi từ nó đến gốc đều đi qua \(v\)).

Nhiệm vụ của bạn: Với mỗi đỉnh \(v\), hãy tính tổng tất cả các màu thống trị trong cây con của đỉnh đó.

Dữ liệu vào:

+ Dòng đầu tiên chứa một số nguyên \(n\ (1\ \leq \ n\ \leq \ 10⁵)\) — số lượng đỉnh trong cây.

+ Dòng thứ hai chứa \(n\) số nguyên \(c₁,\ c₂,\ ...,\ cₙ\) \((1\ \leq \ cᵢ\ \leq \ n)\), trong đó \(cᵢ\) là màu của đỉnh thứ \(i\).

+ Mỗi dòng tiếp theo trong số \(n\ - \ 1\) dòng tiếp theo chứa hai số nguyên \(xⱼ\)\(yⱼ\) \((1\ \leq \ xⱼ,\ yⱼ\ \leq \ n)\), biểu diễn một cạnh của cây (nối đỉnh \(xⱼ\) với \(yⱼ\)).

Kết quả:

In ra \(n\) số nguyên, mỗi số là tổng các màu thống trị trong cây con của từng đỉnh (theo thứ tự từ 1 đến \(n\)).

Ví dụ:

Input Output
4
1 2 3 4
1 2
2 3
2 4
10 9 3 4

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
6 5 4 3 2 3 3 1 1 3 2 2 1 2 3

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. qtaydzs1tg (17/23)
  2. ducanhbc (16/23)
  3. duythai (12/18)
Trong 7 ngày
  1. haiyen2011 (69/149)
  2. khanhchi_29 (66/81)
  3. qtaydzs1tg (65/98)
Trong 30 ngày
  1. nongvantien11 (115/189)
  2. trungo0 (112/199)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41020

Lưu Hải Phong - 2020
[email protected]