Thầy Trí trồng cây

Xem dưới dạng PDF

Gửi bài giải

Điểm: 60
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

Thầy Trí có một cây với \(n\) đỉnh, được đánh số từ \(1\) đến \(n\). Cây ban đầu có gốc là \(1\) và mỗi nút trên cây sẽ được gán một số.

Các em cần thực hiện \(3\) loại truy vấn sau:

  • "1 v": Đổi nút \(v\) thành gốc của cây.
  • "2 u v x: Tăng các nút trong cây con nhỏ nhất chứa \(u\) và \(v\) lên \(x\) đơn vị.
  • "3 v": Tính tổng tất cả các giá trị trong cây con gốc \(v\)

Cây con của nút \(v\) là tập tất cả nút mà đường đi ngắn nhất từ nó đến gốc phải chứa \(v\). Lưu ý cây con của một nút có thể thay đôi nếu đổi gốc của cây.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số \(n\) và \(q\) \((1 \le n, q \le 10^5)\) - là số nút và số lượng truy vấn.
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1,a_2...a_n\) \((-10^8 \le a_i \le 10^8)\) là các giá trị ban đầu của các nút.
  • \(n-1\) dòng tiếp theo, mỗi dòng chứa cặp số \(u_i, v_i\) \((1 \le u_i, v_i \le n)\) mô tả cạnh nối đỉnh \(u_i\) đến đỉnh \(v_i\) trên cây.
  • \(q\) dòng tiếp theo mô tả các câu truy vấn

Dữ liệu ra

  • In ra kết quả với mỗi truy vấn loại \(3\).

Input 1

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

Output 1

27 
19 
5

Input 2

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

Output 2

18
21

Nhận xét

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