trang chủ / đề bài / voi26_pine

Cây thông

Đề bài

Mô tả

Ông già Noel có một cây thông khổng lồ để trang hoàng cho đêm Giáng sinh. Trên các cành của cây thông, ông treo N tấm thiệp trang trí được đánh số từ 1 đến N. Tấm thiệp i (1≤i≤N) có độ lấp lánh được biểu thị bằng số nguyên không âm Ai. Các tấm thiệp được kết nối với nhau bằng N−1 đoạn dây. Đoạn dây thứ i kết nối hai tấm thiệp ui và vi (1≤ui,vi≤N). Hệ thống dây đảm bảo rằng giữa hai tấm thiệp bất kỳ trên cây luôn tồn tại duy nhất một đường đi trực tiếp kết nối hai tấm thiệp và các đoạn dây. Nói cách khác, các tấm thiệp và các đoạn dây tạo thành một đồ thị dạng cây có N đỉnh và N−1 cạnh.

Mỗi thời điểm trong đêm Giáng sinh, ông già Noel sẽ thực hiện một phép thuật. Có Q thời điểm lần lượt xảy ra đánh số từ 1 đến Q. Tại thời điểm t (1≤t≤Q), ông thực hiện một phép thuật được mô tả bằng ba số nguyên dương xt,yt,wt với ý nghĩa: gán Av=Av%wt với mọi tấm thiệp v nằm trên đường kết nối từ tấm thiệp xt đến tấm thiệp yt (bao gồm cả xt và yt). Sau khi thực hiện phép thuật, ông định nghĩa độ đẹp của cây tại thời điểm t là tổng độ đẹp của các tấm thiệp trên cây tại thời điểm đó, tức là: (A1%t)+(A2%t)+…+(AN%t). Nhắc lại, % là phép toán chia lấy dư.

Yêu cầu: Hãy giúp ông già Noel tính độ đẹp của cây sau mỗi lần thực hiện phép thuật.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương N và Q (1≤N,Q≤2×105).
  • Dòng thứ hai chứa N số nguyên A1,A2,…,AN (0≤Ai≤2×105).
  • Dòng thứ i trong số N−1 dòng tiếp theo chứa hai số nguyên dương phân biệt ui và vi mô tả một đoạn dây kết nối trực tiếp hai tấm thiệp ui và vi trên cây (1≤ui,vi≤N).
  • Dòng thứ t trong số Q dòng tiếp theo chứa ba số nguyên dương xt,yt,wt mô tả một lần thực hiện phép thuật tại thời điểm t (1≤xt,yt≤N; wt≤2×105).
  • Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

Gồm Q dòng, dòng thứ t chứa một số nguyên là độ đẹp của cây sau khi thực hiện phép thuật tại thời điểm t.

Ràng buộc

  • 1≤N,Q≤2×105.
  • 0≤Ai≤2×105.
  • 1≤ui,vi≤N, ui≠vi; các đoạn dây tạo thành một cây.
  • 1≤xt,yt≤N; 1≤wt≤2×105.

Subtasks

  • Subtask 1 (20% số điểm): N,Q≤5000.
  • Subtask 2 (20% số điểm): Av≤2, có dây nối trực tiếp giữa tấm thiệp v và v+1 với mọi v=1,2,…,N−1.
  • Subtask 3 (20% số điểm): xt=yt với mọi t=1,2,…,Q, có dây nối trực tiếp giữa tấm thiệp v và v+1 với mọi v=1,2,…,N−1.
  • Subtask 4 (20% số điểm): Có dây nối trực tiếp giữa tấm thiệp v và v+1 với mọi v=1,2,…,N−1.
  • Subtask 5 (20% số điểm): Không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
5 3
2 1 4 4 8
1 2
2 3
3 4
4 5
1 5 5
1 5 3
3 3 1
0
3
4
Ở thời điểm t=1, dãy A là (2,1,4,4,3). Kết quả là (2%1)+(1%1)+(4%1)+(4%1)+(3%1)=0. Ở thời điểm t=2, dãy A là (2,1,1,1,0). Kết quả là (2%2)+(1%2)+(1%2)+(1%2)+(0%2)=3. Ở thời điểm t=3, dãy A là (2,1,0,1,0). Kết quả là (2%3)+(1%3)+(0%3)+(1%3)+(0%3)=4.
6 4
7 5 6 3 9 4
1 2
1 3
2 4
2 5
3 6
4 6 4
5 5 5
5 3 2
1 6 1
0
3
2
4
Ví dụ bổ sung (không có trong đề gốc). Đường đi từ 4 đến 6 là 4,2,1,3,6, sau phép thuật thứ nhất dãy A là (3,1,2,3,9,0). Sau các thời điểm 2,3,4, dãy A lần lượt là (3,1,2,3,4,0), (1,1,0,3,0,0) và (0,1,0,3,0,0); các độ đẹp là 3, 2 và 4.

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