Mảng con tổng lớn nhất trên cây

Xem dưới dạng PDF

Gửi bài giải

Điểm: 70
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Cho một cây \(n\) đỉnh. Đỉnh \(i\) được gán giá trị \(A_i\). Có \(q\) truy vấn thuộc một trong hai loại:

  • "1 u v": trên đường đi đơn từ \(u\) đến \(v\), tìm một số các đỉnh liên tiếp sao cho tổng của chúng lớn nhất, hoặc không chọn đỉnh nào.
  • "2 u v x": đổi giá trị của các đỉnh trên đường đi đơn từ \(u\) đến \(v\) thành \(x\).

Dữ liệu vào

  • Dòng đầu tiên gồm hai số nguyên \(n,q\).
  • Dòng thứ hai gồm \(n\) số nguyên \(A_i\)
  • \(n-1\) dòng tiếp theo, mỗi dòng gồm hai số nguyên \(u,v\), có một cạnh nối \(u\) và \(v\).
  • \(q\) dòng tiếp theo, mỗi dòng gồm một truy vấn nêu trên.

Dữ liệu ra

  • Với mỗi truy vấn thuộc loại \(1\), in ra một số nguyên là tổng lớn nhất.

Điều kiện

  • \(1 \le n,q \le 10^5\)
  • \(0 \le |x|,|A_i| \le 10^4\)
  • \(1 \le u,v \le n\)

Input 1

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

Output 1

5
9

Input 2

7 7
3 -2 3 1 -3 3 -3
1 2
1 3
1 4
1 6
2 5
2 7
2 5 1 0
2 4 6 -2
1 3 2 
2 4 1 -5
1 4 5 
2 1 2 2
1 4 5

Output 2

3
0
4

Nhận xét

Không có ý kiến tại thời điểm này.