Tổ tiên bằng HLD
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Tý có một hệ thống phân cấp gia phả gồm \(N\) thành viên, được đánh số từ 1 đến N (thành viên 1 là tổ tiên gốc). Các mối quan hệ cha-con được biểu diễn bởi \(N-1\) mối liên kết. Với Q truy vấn, mỗi truy vấn cho hai thành viên u và v, hãy tìm tổ tiên chung gần nhất (gần với u và \(v\) nhất) của hai người đó trong gia phả.
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên dương \(N\) và Q (\(1 \le N, Q \le 10^5\)). - N-\(1\) dòng tiếp theo, mỗi dòng chứa hai số \(u, v\) mô tả mối quan hệ cha-con (không xác định thứ tự).
- \(Q\) dòng tiếp theo, mỗi dòng chứa hai số \(u, v\) cần tìm tổ tiên chung.
Định dạng đầu ra
- Với mỗi truy vấn, in ra tổ tiên chung gần nhất của \(u\) và \(v\) trên một dòng.
Ví dụ
Input:
7 4
1 2
1 3
2 4
2 5
3 6
3 7
4 7
4 5
5 6
2 6
Output:
1
2
1
1
Ràng buộc
| Subtask | Điểm | Giới hạn |
|---|---|---|
| 1 | 20 | \(N \le 10^3\) |
| 2 | 30 | \(N \le 10^4\) |
| 3 | 50 | \(N \le 10^5\) |
Nhận xét