Tổng cây con với gốc thay đổi
Đề bài
Mô tả
Cho một cây gồm đỉnh đánh số từ đến , đỉnh mang giá trị . Các cạnh được cho theo thứ tự và chiều bất kỳ.
Khi chọn một đỉnh làm gốc, cây con của đỉnh gồm và mọi đỉnh mà đường đi từ đỉnh đó tới đi qua . Nói riêng, nếu thì cây con của là toàn bộ cây.
Hãy xử lý thao tác thuộc một trong hai loại:
1 v x: gán .2 r v: coi là gốc, in ra tổng giá trị các đỉnh trong cây con của .
Mỗi thao tác loại chỉ chọn gốc cho riêng nó, không ảnh hưởng tới các thao tác sau.
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
- dòng tiếp theo, mỗi dòng chứa hai số nguyên cho biết có cạnh nối đỉnh và đỉnh .
- dòng tiếp theo, mỗi dòng mô tả một thao tác theo định dạng trên.
Dữ liệu ra
Với mỗi thao tác loại , in ra đáp án trên một dòng.
Ràng buộc
- , có ít nhất một thao tác loại .
- , với các cạnh thì .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 6 3 1 4 1 5 9 1 2 1 3 2 4 2 5 3 6 2 1 2 2 4 2 2 2 2 1 4 10 2 4 2 2 6 1 |
7 22 23 22 19 |
Gốc : cây con của là , tổng . Gốc : cây con của là mọi đỉnh trừ , tổng . Sau khi gán , tổng cả cây là ; gốc : cây con của là , tổng . |
| 4 4 -5 2 7 -1 2 1 3 2 4 3 2 1 3 2 4 2 1 1 6 2 3 2 |
6 -3 8 |
Cây là đường đi . Gốc : cây con của là . |
Bình luận