trang chủ / bài tập / elephtree

Cây của chú voi con

Đề bài

Mô tả

Cho một cây có gốc gồm n đỉnh, đánh số từ 1 đến n, với gốc tại đỉnh 1. Ban đầu, danh sách số tại mỗi đỉnh đều rỗng.

m thao tác. Thao tác thứ i (với 1im) cho hai đỉnh aibi: thêm số i vào danh sách của tất cả các đỉnh thuộc cây con có gốc là ai, sau đó thêm số i vào danh sách của tất cả các đỉnh thuộc cây con có gốc là bi.

Sau khi thực hiện hết các thao tác, với mỗi đỉnh i hãy đếm ci — số đỉnh j (1jn, ji) sao cho danh sách của đỉnh i và đỉnh j có ít nhất một số chung.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi mô tả một cạnh của cây nối hai đỉnh uivi (uivi).
  • m dòng tiếp theo, mỗi dòng chứa hai số nguyên aibi (aibi) — hai đỉnh của thao tác thứ i.

Dữ liệu đảm bảo đồ thị đã cho là một cây vô hướng.

Dữ liệu ra

In ra trên một dòng n số nguyên c1,c2,,cn cách nhau bởi dấu cách.

Ràng buộc

  • 1n,m105
  • 1ui,vin, uivi
  • 1ai,bin, aibi

Ví dụ

Input Output Giải thích
5 1
1 2
1 3
3 5
3 4
2 3
0 3 3 3 3 Cây có gốc tại 1, các con là 2 và 3; con của 3 là 4 và 5. Thao tác 1 với (a,b)=(2,3): thêm số 1 vào cây con đỉnh 2 (chỉ gồm 2) và cây con đỉnh 3 (gồm 3, 4, 5). Bốn đỉnh 2, 3, 4, 5 đều chứa số 1 nên chia sẻ chung với nhau. Đỉnh 1 không chứa số nào nên c1=0.
11 3
1 2
2 3
2 4
1 5
5 6
5 7
5 8
6 9
8 10
8 11
2 9
3 6
2 8
0 6 7 6 0 2 0 5 4 5 5 Cây với gốc 1, hai nhánh chính 2 và 5. Ba thao tác lan tỏa các số 1, 2, 3 vào các cây con tương ứng.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0