DeMenQuery02

Xem dạng PDF

Gửi bài giải


Điểm: 0,01 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Dế Mèn có một cây có ~n~ đỉnh với đỉnh gốc ~1~. Đỉnh ~i~ có giá trị là ~a_i~. Ban đầu mọi đỉnh đều có giá trị ~0~. Thực hiện ~q~ truy vấn thuộc ~4~ loại sau trên cây:

  • ~1~ ~u~ ~v~ ~val~ : Với mọi đỉnh ~i~ trên đường đi từ ~u~ đến ~v~, ~a_i = a_i + val~.

  • ~2~ ~u~ ~val~ : Với mọi đỉnh ~i~ trong cây con của ~u~, ~a_i = a_i + val~.

  • ~3~ ~u~ ~v~ : Cho biết giá trị ~a_i~ lớn nhất trong các đỉnh ~i~ trên đường đi từ ~u~ đến ~v~.

  • ~4~ ~u~ : Cho biết giá trị ~a_i~ lớn nhất trong các đỉnh ~i~ thuộc cây con của ~u~.

Input

Dòng đầu nhập ~2~ số ~n~ và ~q~ ~(1 \le n, q \le 3 \times 10^5)~ lần lượt là số đỉnh của cây và số lượng truy vấn trên cây.

~n-1~ dòng tiếp theo, mỗi dòng nhập 2 số nguyên dương ~u~ và ~v~ ~(u \neq v, 1 \le u, v \le n)~ là một cạnh của cây.

~q~ dòng tiếp theo, mỗi dòng nhập một truy vấn thuộc ~4~ loại ~(1 \le u, v \le n, 1 \le val \le 10^9)~.

Output

In ra câu trả lời cho các truy vấn loại ~3~ và ~4~.

Scoring

Subtask Điểm Giới hạn
1 ~10~ ~n \times q \le 3 \times 10 ^ 5~
2 ~10~ Chỉ gồm các truy vấn ~2~ và ~4~
3 ~20~ Chỉ gồm các truy vấn ~1~ và ~3~
4 ~60~ Không có ràng buộc gì thêm

Sample Input 1

5 5
1 2
1 3
3 4
3 5
1 4 5 1
1 5 2 1
3 2 3
2 3 1
4 3

Sample Output 1

2
3

Sample Input 2

9 9
3 5
3 8
4 8
3 9
8 1
3 6
1 2
5 7
1 5 7 5
1 2 8 8
2 3 10
4 1
2 2 5
3 3 2
2 1 3
4 3
3 3 2

Sample Output 2

15
13
18
16

Notes

Trong test ví dụ đầu tiên, hình ảnh của cây ban đầu:

image

Sau truy vấn thứ ~1~, cây sẽ có dạng:

image

Sau truy vấn thứ ~2~, cây sẽ có dạng:

image

Trong truy vấn thứ ~3~, ta cần tìm giá trị lớn nhất trên đường đi từ ~2~ đến ~3~. Từ đó cho ra đáp án là: ~2~.

Sau truy vấn thứ ~4~, cây sẽ có dạng:

image

Trong truy vấn thứ ~5~, ta cần tìm giá trị lớn nhất trong cây con của đỉnh ~3~. Từ đó cho ra đáp án là: ~3~.

Trong test ví dụ thứ hai, hình ảnh của cây ban đầu:

image

Sau truy vấn thứ ~1~, cây sẽ có dạng:

image

Sau truy vấn thứ ~2~, cây sẽ có dạng:

image

Sau truy vấn thứ ~3~, cây sẽ có dạng:

image

Trong truy vấn thứ ~4~, ta cần tìm giá trị lớn nhất trong cây con của đỉnh ~1~. Từ đó cho ra đáp án là: ~18~.

Sau truy vấn thứ ~5~, cây sẽ có dạng:

image

Trong truy vấn thứ ~6~, ta cần tìm giá trị lớn nhất trên đường đi từ ~3~ đến ~2~. Từ đó cho ra đáp án là: ~13~.

Sau truy vấn thứ ~7~, cây sẽ có dạng:

image

Trong truy vấn thứ ~8~, ta cần tìm giá trị lớn nhất trong cây con của đỉnh ~3~. Từ đó cho ra đáp án là: ~18~.

Trong truy vấn thứ ~9~, ta cần tìm giá trị lớn nhất trên đường đi từ ~3~ đến ~2~. Từ đó cho ra đáp án là: ~16~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.