Tổng màu thống trị trên cây

Đề bài

Mô tả

Cho một cây có gốc tại đỉnh 1, gồm n đỉnh. Mỗi đỉnh được tô một màu.

Một màu c được gọi là 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 trong cây con của v với số lần nhiều hơn c. Vì vậy 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 đỉnh v gồm v và tất cả các đỉnh u sao cho đường đi từ u tới gốc đi qua v.

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 v.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số đỉnh.
  • Dòng thứ hai chứa n số nguyên c1,c2,…,cn — màu của các đỉnh.
  • Mỗi dòng trong n−1 dòng tiếp theo chứa hai số nguyên xj,yj — một cạnh của cây.

Dữ liệu ra

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

Ràng buộc

  • 1≤n≤105
  • 1≤ci≤n
  • 1≤xj,yj≤n

Ví dụ

Input Output Giải thích
4
1 2 3 4
1 2
2 3
2 4
10 9 3 4 Cây con của 1 chứa cả 4 đỉnh, mỗi màu 1,2,3,4 xuất hiện đúng một lần nên tất cả đều thống trị, tổng =10. Cây con của 2 là {2,3,4} với màu 2,3,4, tổng =9.
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 Tại gốc 1, các màu 1,2,3 đều xuất hiện 5 lần nên đều thống trị, tổng =6.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0