Cây lan truyền
Đề bài
Mô tả
Cho một cây có đỉnh đánh số từ đến , gốc là đỉnh . Mỗi đỉnh có một giá trị ban đầu .
Cây có một tính chất đặc biệt: khi cộng giá trị vào đỉnh , thì giá trị sẽ được cộng vào tất cả các con trực tiếp của . Tiếp theo, giá trị lại được cộng vào các con của các con đó, và cứ tiếp tục lan truyền như vậy đến hết cây con của . Nói cách khác, nếu đỉnh nằm trong cây con gốc và độ sâu của trong cây ban đầu chênh với là cạnh, thì nhận thêm .
Bạn cần xử lý truy vấn thuộc một trong hai dạng:
1 x val— cộng vào giá trị của đỉnh (kèm hiệu ứng lan truyền nêu trên).2 x— in ra giá trị hiện tại của đỉnh .
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên — giá trị ban đầu của các đỉnh.
- dòng tiếp theo, mỗi dòng chứa hai số và mô tả một cạnh của cây.
- dòng cuối, mỗi dòng chứa một truy vấn theo định dạng đã mô tả.
Dữ liệu ra
Với mỗi truy vấn loại 2, in giá trị tương ứng trên một dòng riêng, theo đúng thứ tự xuất hiện trong dữ liệu vào.
Ràng buộc
- , cho mọi truy vấn.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 5 1 2 1 1 2 1 2 1 3 2 4 2 5 1 2 3 1 1 2 2 1 2 2 2 4 |
3 3 0 |
Giá trị ban đầu . Sau 1 2 3: đỉnh tăng , các con giảm → . Sau 1 1 2: đỉnh tăng , các con giảm , các cháu tăng → . Ba truy vấn loại 2 trả về . |
| 10 10 137 197 856 768 825 894 86 174 218 326 7 8 4 7 8 9 7 10 1 2 2 4 3 6 3 5 2 3 1 9 624 2 1 2 4 1 6 505 1 8 467 1 3 643 2 1 1 8 631 2 4 1 7 244 |
137 768 137 768 |
Cập nhật tại , , chỉ ảnh hưởng tới cây con tương ứng và không đụng tới hoặc . Cập nhật tại chỉ ảnh hưởng tới cây con — vẫn không chạm đến và . |
Bình luận