[CSES 2134] Path Queries II
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Cho một cây gồm ~n~ đỉnh. Các đỉnh được đánh số ~1,2,\ldots,n~. Mỗi đỉnh có một giá trị.
Nhiệm vụ của bạn là xử lý các loại truy vấn sau:
- thay đổi giá trị của đỉnh ~s~ thành ~x~
- tìm giá trị lớn nhất trên đường đi giữa hai đỉnh ~a~ và ~b~.
Dữ liệu vào
Dòng đầu tiên chứa hai số nguyên ~n~ và ~q~: số lượng đỉnh và số truy vấn. Các đỉnh được đánh số ~1,2,\ldots,n~.
Dòng tiếp theo chứa ~n~ số nguyên ~v\_1,v\_2,\ldots,v\_n~: giá trị của mỗi đỉnh.
Sau đó là ~n-1~ dòng mô tả các cạnh. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: có một cạnh nối giữa đỉnh ~a~ và đỉnh ~b~.
Cuối cùng là ~q~ dòng mô tả các truy vấn. Mỗi truy vấn có dạng "1 ~s~ ~x~" hoặc "2 ~a~ ~b~".
Kết quả
In ra câu trả lời cho mỗi truy vấn loại 2.
Giới hạn
- ~1 \le n, q \le 2 \cdot 10^5~
- ~1 \le a,b, s \le n~
- ~1 \le v\_i, x \le 10^9~
Ví dụ
Dữ liệu vào:
5 3
2 4 1 3 3
1 2
1 3
2 4
2 5
2 3 5
1 2 2
2 3 5
Kết quả:
4 3
Bình luận