Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - 2026 - Contest #3 - The Last Legacy
Xem PDF, , và đang đứng trước một mạng lưới gồm \(n\) phòng và \(n-1\) hành lang, trong đó giữa hai phòng bất kỳ luôn có đúng một đường đi, vì vậy toàn bộ công trình tạo thành một cây có trọng số. Ban đầu mọi phòng đều có năng lượng \(0\).
Có \(q\) thao tác cần xử lý:
- Thao tác
1 x y: Gán lại năng lượng của phòng \(x\) thành \(y\). - Thao tác
2 x: Tính tổng ảnh hưởng mà phòng \(x\) nhận được từ toàn bộ hệ thống, tức là:
\[ \sum_{i=1}^{n} a_i \cdot dist(x,i) \]
Với mỗi truy vấn loại 2 x, hãy in ra đáp án tương ứng. Dữ liệu bảo đảm cây liên thông và không có chu trình. Mỗi hành lang có độ dài dương. Các truy vấn cập nhật luôn hợp lệ. Mạng lưới này được thiết kế để kiểm tra khả năng phản ứng của hệ thống trong thời gian thực. phụ trách phần bản đồ, phụ trách phần tín hiệu, còn và quan sát toàn bộ kết quả. Đây là một bài cần xử lý nhanh vì số lượng thao tác rất lớn. Hãy chú ý rằng tổng giá trị có thể vượt khỏi phạm vi 32-bit.
Input
- Dòng đầu chứa hai số nguyên \(n, q\) (\(1 \le n, q \le 10^6\)).
- \(n-1\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le n\) và \(1 \le w \le 10^6\)).
- \(q+1\) dòng sau, mỗi dòng là một thao tác
1 x yhoặc2 x. - Ban đầu mọi giá trị \(a_i\) đều bằng \(0\).
Output
- Với mỗi truy vấn loại
2 x, in ra một dòng là giá trị \(\sum_{i=1}^{n} a_i \cdot dist(x,i)\).
Example
Test 1
Input
5 7
1 2 3
1 3 2
2 4 4
2 5 1
1 2 3
1 4 5
2 1
1 2 0
2 5
1 3 2
2 4
2 3
Output
44
25
18
45
Note
Ban đầu tất cả các phòng đều có năng lượng \(0\).
Sau hai thao tác đầu tiên, hệ thống có:
- \(a_2 = 3\).
- \(a_4 = 5\).
Khi truy vấn 2 1, ta cần tính tổng ảnh hưởng tại phòng \(1\). Khoảng cách từ phòng \(1\) đến phòng \(2\) là \(3\), và từ phòng \(1\) đến phòng \(4\) là \(7\). Vì vậy kết quả là \(3 \cdot 3 + 5 \cdot 7 = 44\).
Tiếp theo, thao tác 1 2 0 làm cho \(a_2 = 0\), nên chỉ còn phòng \(4\) có năng lượng khác \(0\). Khi truy vấn 2 5, khoảng cách từ phòng \(5\) đến phòng \(4\) là \(5\), nên kết quả là \(5 \cdot 5 = 25\).
Sau đó thao tác 1 3 2 đặt \(a_3 = 2\). Khi truy vấn 2 4, ta có:
- \(dist(4,3) = 9\).
- \(dist(4,4) = 0\).
Do đó kết quả là \(2 \cdot 9 + 5 \cdot 0 = 18\).
Cuối cùng, khi truy vấn 2 3, ta có:
- \(dist(3,3) = 0\).
- \(dist(3,4) = 9\).
Nên kết quả là \(2 \cdot 0 + 5 \cdot 9 = 45\).
Kỳ thi:
- Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - Tìm 𝓒𝓸𝓭𝓮𝓻 Tài năng nhất LQDOJ #03 (23 Tháng bảy, 2026)
Bình luận