Truy vấn trên cây
Đề bài
Mô tả
Cho một cây gồm đỉnh, các đỉnh được đánh số từ tới , đỉnh là gốc của cây. Trên mỗi đỉnh của cây lưu một số nguyên, ban đầu giá trị ở tất cả các đỉnh là . Bạn cần thực hiện truy vấn thuộc một trong ba loại sau:
add : Ta thay đổi giá trị các đỉnh thuộc cây con gốc theo quy tắc sau:
- Giá trị của đỉnh được cộng thêm ;
- Giá trị các đỉnh là con trực tiếp của được cộng thêm ;
- Giá trị các đỉnh là con trực tiếp của con trực tiếp của được cộng thêm ;
- Giá trị các đỉnh là con trực tiếp của con trực tiếp của con trực tiếp của được cộng thêm ;
- ...
Các thao tác được thực hiện cho đến các nút lá của cây con gốc . Nói cách khác, mỗi đỉnh thuộc cây con gốc (kể cả ) được cộng thêm , trong đó là khoảng cách (số cạnh) từ đến .
- get : Tính giá trị của đỉnh .
- sum : Tính tổng giá trị các đỉnh thuộc cây con gốc .
Yêu cầu: In ra kết quả các truy vấn loại 2 và 3 theo mô đun .
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên () là số đỉnh của cây.
- Dòng thứ hai chứa số nguyên (), trong đó là cha trực tiếp của đỉnh .
- Dòng thứ ba chứa số nguyên () là số truy vấn cần thực hiện.
- dòng cuối cùng, mỗi dòng mô tả một truy vấn theo một trong ba định dạng add , get hoặc sum ( và ).
Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.
Dữ liệu ra
Với mỗi truy vấn loại 2 và 3, theo thứ tự xuất hiện, in ra trên một dòng một số nguyên không âm là kết quả của truy vấn theo mô đun (giá trị đúng có thể âm; khi đó in ra số dư không âm của nó khi chia cho ).
Ràng buộc
- , .
- .
- , .
Subtasks
- số test: .
- số test: mọi truy vấn loại 1 đều có .
- số test khác: không có truy vấn loại 3.
- số test còn lại: không có ràng buộc gì thêm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 1 2 2 4 1 6 11 add 1 5 1 get 1 get 2 get 3 get 4 get 5 get 6 get 7 add 4 7 3 sum 2 sum 6 |
5 4 3 3 2 4 3 23 7 |
Sau truy vấn đầu, giá trị các đỉnh là (đỉnh ở độ sâu nhận ). Truy vấn add 4 7 3 cộng vào đỉnh và vào đỉnh . Cây con gốc gồm các đỉnh có tổng ; cây con gốc gồm có tổng . |
| 5 1 1 2 2 7 add 2 -3 2 add 1 10 0 get 4 sum 2 add 2 2000000000 -2000000000 get 5 sum 1 |
5 17 7022593 17556507 |
Sau hai truy vấn đầu: đỉnh có , đỉnh và có , cây con gốc có tổng . Truy vấn thứ năm cộng vào đỉnh và vào đỉnh ; giá trị đỉnh là , theo mô đun là . Tổng cả cây là , theo mô đun là . |
Bình luận