Tồn Tại Đoạn Giao Nhau
Xem dưới dạng PDF
Gửi bài giải
Điểm:
10
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
Cho \(N\) đoạn thẳng trên trục số, đoạn thẳng thứ i giới hạn từ tọa độ L_i đến R_i (\(L_i \le R_i\)).
Bạn cần xử lý \(Q\) truy vấn: Mỗi truy vấn cho một đoạn \([A, B]\) (\(A \le B\)). Hãy kiểm tra xem trong tập N đoạn thẳng đã cho, có tồn tại ít nhất một đoạn thẳng nào giao với đoạn \([A, B]\) hay không?
Hai đoạn thẳng \([L_i, R_i]\) và \([A, B]\) được gọi là giao nhau nếu chúng có ít nhất một điểm chung, tức là \(\max(L_i, A) \le \min(R_i, B)\).
Đị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\) dòng tiếp theo, mỗi dòng chứa hai số nguyên L_i và R_i (\(-10^9 \le L_i \le R_i \le 10^9\)).
- \(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên A và B (\(-10^9 \le A \le B \le 10^9\)).
Định dạng đầu ra
- Với mỗi truy vấn, in ra
YESnếu tồn tại đoạn giao, ngược lại in raNOtrên một dòng.
Ví dụ
Input:
3 3
1 3
5 8
10 12
2 4
4 4
6 7
Output:
YES
NO
YES
Giải thích:
- Đoạn thẳng: \([1, 3]\), \([5, 8]\), \([10, 12]\).
- Truy vấn 1 (\([2, 4]\)): Giao với \([1, 3] $\to\)
YES. - Truy vấn 2 (\([4, 4]\)): Không giao với đoạn nào \(\to\)
NO. - Truy vấn 3 (\([6, 7]\)): Giao với \([5, 8] $\to\)
YES.
Ràng buộc & Subtasks
- **Subtask 1 (30% số điểm):\(Q \le 1000\).
- **Subtask 2 (70% số điểm):\(Q \le 10^{5}, các ràng buộc gốc\).
Nhận xét