trang chủ / đề bài / gr12_subtree

Cây con

Đề bài

Mô tả

Cho một cây gồm n đỉnh đánh số từ 1 đến n, gốc là đỉnh 1. Đỉnh v mang giá trị av.

Cây con của đỉnh v gồm chính v và mọi đỉnh mà đường đi từ đỉnh đó về gốc đi qua v.

Với mỗi đỉnh v, hãy tính số đỉnh trong cây con của v và tổng giá trị các đỉnh trong cây con của v.

Lưu ý: mỗi cạnh được cho dưới dạng hai đầu mút theo thứ tự bất kỳ.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên a1,a2,…,an.
  • n−1 dòng tiếp theo, mỗi dòng chứa hai số nguyên u,v mô tả một cạnh nối u và v.

Dữ liệu đảm bảo các cạnh tạo thành một cây.

Dữ liệu ra

  • Dòng thứ nhất: n số nguyên, số thứ v là số đỉnh trong cây con của v.
  • Dòng thứ hai: n số nguyên, số thứ v là tổng giá trị các đỉnh trong cây con của v.

Ràng buộc

  • 1≤n≤2·105
  • 1≤av≤109
  • 1≤u,v≤n, u≠v

Ví dụ

Input Output Giải thích
5
3 1 4 1 5
1 2
3 1
4 3
3 5
5 1 3 1 1
14 1 10 1 5
Các con của 1 là 2 và 3, các con của 3 là 4 và 5. Cây con của 3 là {3,4,5} với tổng 4+1+5=10.
4
2 7 1 8
4 3
2 4
1 2
4 3 1 2
18 16 1 9
Cây là đường đi 1−2−4−3. Cây con của 4 là {4,3} với tổng 8+1=9.

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