DHBB 2023 - CHL - 11 - Truy vấn trên cây
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Cho một cây gồm ~n~ đỉnh được đánh số từ ~1~ đến ~n~, trong đó đỉnh ~1~ là gốc. Mỗi đỉnh lưu một số nguyên, ban đầu giá trị tại tất cả các đỉnh đều bằng ~0~.
Có ~q~ truy vấn thuộc một trong ba loại:
add ~v\ k\ l~: Với mỗi đỉnh ~u~ thuộc cây con gốc ~v~, gọi ~d~ là khoảng cách từ ~v~ đến ~u~ tính theo số cạnh, cộng thêm ~k-d\cdot l~ vào giá trị của ~u~;
get ~v~: Tính giá trị của đỉnh ~v~;
sum ~v~: Tính tổng giá trị của các đỉnh thuộc cây con gốc ~v~.
Yêu cầu: In kết quả của các truy vấn loại get và sum theo mô đun ~998244353~.
Input
Dòng đầu tiên chứa số nguyên ~n~ ~(2\le n\le5\cdot10^5)~;
Dòng thứ hai chứa ~n-1~ số nguyên ~p_2,p_3,\dots,p_n~ ~(1\le p_i\le i-1)~, trong đó ~p_i~ là cha trực tiếp của đỉnh ~i~;
Dòng thứ ba chứa số nguyên ~q~ ~(1\le q\le5\cdot10^5)~;
~q~ dòng tiếp theo, mỗi dòng có một trong ba dạng:
add ~v\ k\ l~;
get ~v~;
sum ~v~.
Trong đó ~1\le v\le n~ và ~0\le |k|,|l|\le2\cdot10^9~.
Output
In các kết quả của truy vấn get và sum theo thứ tự xuất hiện, lấy theo mô đun ~998244353~.
Scoring
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | ~30\%~ | ~n,q\le7000~ |
| 2 | ~25\%~ | Mọi truy vấn cập nhật đều có ~l=0~ |
| 3 | ~25\%~ | Không có truy vấn loại sum |
| 4 | ~20\%~ | Không có ràng buộc gì thêm |
Sample Input 1
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
Sample Output 1
5 4 3 3 2 4 3 23 7
Bình luận