Quan hệ huyết thống

Xem dưới dạng PDF

Gửi bài giải


Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

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

Bình đang tra cứu một cuốn gia phả khổng lồ của dòng họ. Gia phả có cấu trúc cây với \(N\) thành viên, đánh số từ 1 đến \(N\), trong đó thành viên 1 là thủy tổ. Mỗi thành viên (trừ thủy tổ) có đúng một cha trực tiếp.

Bình cần trả lời \(Q\) câu hỏi: "Liệu thành viên \(u\) có phải là tổ tiên của thành viên \(v\) hay không?" (tổ tiên bao gồm cả chính thành viên đó).

Định dạng đầu vào

  • Dòng đầu chứa số nguyên \(N\) và \(Q\) (\(N, Q \le 10^5\)).
  • \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh.

Định dạng đầu ra

  • In ra kết quả của từng truy vấn trên một dòng.

Ví dụ

Input:

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

Output:

3
Dữ liệu vào
  • Dòng đầu tiên chứa hai số nguyên \(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ố nguyên \(u, v\) (\(1 \le u, v \le N\)) mô tả mối quan hệ cha-con.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)) là truy vấn.
Kết quả ra
  • Với mỗi truy vấn, in ra YES nếu \(u\) là tổ tiên của \(v\), ngược lại in ra NO.
Ví dụ
Input
6 4
1 2
2 4
2 5
1 3
3 6
1 4
4 2
1 6
3 6
Output
YES
NO
YES
YES
Ràng buộc
  • Subtask 1 (30 điểm): \(N \le 100\).
  • Subtask 2 (30 điểm): \(N \le 5000\).
  • Subtask 3 (40 điểm): Không có ràng buộc gì thêm.

Nhận xét

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