Cộng đường đi
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tý có một mạng lưới giao thông nội đô có \(N\) nút giao thông được nối với nhau bởi \(N-1\) con đường (cấu trúc cây). Các nút được đánh số từ \(1\) đến \(N\). Mỗi nút \(i\) có một chỉ số tắc nghẽn \(c_i\) ban đầu. Chính quyền thực hiện \(Q\) yêu cầu:
1 u v val: Tăng chỉ số tắc nghẽn của tất cả các nút trên đường đi từ nút \(u\) đến nút \(v\) lên \(val\) đơn vị.2 u: Cho biết chỉ số tắc nghẽn hiện tại của nút \(u\).
Hãy lập trình hỗ trợ quản lý giao thông.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)).
- Dòng thứ hai chứa \(N\) số nguyên \(c_1, c_2, \dots, c_N\) (\(0 \le c_i \le 10^9\)).
- \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số \(u, v\) mô tả con đường nối hai nút.
- \(Q\) dòng tiếp theo, mỗi dòng mô tả một yêu cầu.
Định dạng đầu ra
- Với mỗi yêu cầu loại
2, in ra chỉ số tắc nghẽn hiện tại trên một dòng.
Ví dụ
Input:
5 4
0 0 0 0 0
1 2
2 3
2 4
1 5
1 3 5 5
2 1
2 4
2 2
Output:
5
0
5
Ràng buộc
| Subtask | Điểm | Giới hạn |
|---|---|---|
| 1 | 20 | \(N \le 10^3\) |
| 2 | 30 | \(N \le 10^4\) |
| 3 | 50 | \(N \le 10^5\) |
Nhận xét