Điểm:
1500
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Cho một cái cây có \(n\) nút và ta định nghĩa \(1\) là nút gốc của cây.
Bây giờ ta có \(q\) truy vấn, mỗi truy vấn có dạng: \(l_{i}\) \(r_{i}\) (\(1 \leq l_{i} \leq r_{i} \leq n\)).
Yêu cầu: Ứng với mỗi truy vấn, ta in ra LCA của tất cả các nút từ nút \(l_{i}\) đến nút \(r_{i}\)
Input
-
Dòng thứ nhất chứa số n (\(2 \leq n \leq 300000\)) - Thể hiện số nút của cây
-
\(n−1\) dòng tiếp theo, mỗi dòng gồm \(2\) số nguyên \(x,y\) - Thể hiện cạnh nối giữa hai đỉnh \(x\) và \(y\)
-
Dòng tiếp theo, chứa số \(q\) (\(1 \leq q \leq 300000\)) - Thể hiện số lượng truy vấn
-
\(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(l_{i}\), \(r_{i}\) (\(1 \leq l_{i} \leq r_{i}\leq n\))
Output
- Ứng với mỗi truy vấn, in ra đáp án cần tìm.
Scoring
- Subtask \(1\) (\(40\%\) số điểm): \(2 \leq n,q \leq 20\).
- Subtask \(2\) (\(60\%\) số điểm): Không có ràng buộc gì thêm.
Example
Test 1
Input
5
1 4
2 5
3 5
2 4
2
2 4
1 3
Output
4
1
Bình luận
Bài này để giới hạn bộ nhớ thấp là có ý đồ phải ko ạ?
6 bình luận nữa