Chọn ĐTQG Nghệ An 2026 - Xếp hậu

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Minh rất thích cờ vua và lập trình. Vì thế, hơn bất cứ điều gì, Minh thích các bài toán lập trình liên quan đến cờ vua. Đáng tiếc là cậu đã giải hết các bài toán cờ vua kinh điển, nên bây giờ cậu phải tự nghĩ ra và giải những bài toán mới.

Minh có một bàn cờ là lưới vuông gồm ~m~ hàng và ~m~ cột, cùng với ~n~ quân hậu. Các hàng của bàn cờ được đánh số từ ~1~ đến ~m~ từ trên xuống dưới, còn các cột được đánh số từ ~1~ đến ~m~ từ trái sang phải.

Minh muốn đặt các quân hậu lên bàn cờ sao cho không có quân hậu nào tấn công quân hậu khác. Nhắc lại rằng, trong cờ vua, một quân hậu tấn công tất cả các ô nằm cùng hàng, cùng cột hoặc cùng đường chéo với nó. Minh có ~n~ quân hậu, và dự định đặt quân hậu thứ ~i~ vào ô có tọa độ ~(x_i,y_i)~, trong đó ~x_i~ là chỉ số cột và ~y_i~ là chỉ số hàng. Dữ liệu đảm bảo tọa độ của mọi cặp quân hậu là khác nhau.

Tuy nhiên, Minh chưa biết cách kiểm tra một cách đặt có hợp lệ hay không. Cậu quan tâm tới ~q~ đoạn quân hậu, đoạn thứ ~i~ gồm các quân hậu có chỉ số từ ~l_i~ đến ~r_i~. Hãy giúp Minh xác định với mỗi đoạn này, cách đặt các quân hậu trong đoạn có hợp lệ hay không.

Nói cách khác, cách đặt các quân hậu trong đoạn ~[l_i,r_i]~ được xem là hợp lệ nếu không tồn tại hai quân hậu có chỉ số ~j~ và ~k~ sao cho ~l_i \le j < k \le r_i~ và quân hậu thứ ~j~ tấn công quân hậu thứ ~k~.

Input

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~ ~(2 \le n \le 200\,000, 2 \le m \le 10^9)~: số quân hậu và kích thước bàn cờ.

  • ~n~ dòng tiếp theo mô tả vị trí các quân hậu. Dòng thứ ~i~ trong số này chứa hai số nguyên ~x_i~ và ~y_i~ ~(1 \le x_i,y_i \le m)~: tọa độ ô mà quân hậu thứ ~i~ sẽ được đặt vào.

  • Dòng tiếp theo chứa một số nguyên ~q~ ~(1 \le q \le 1\,000\,000)~: số truy vấn.

  • Dòng thứ ~i~ trong ~q~ dòng tiếp theo chứa hai số nguyên ~l_i~ và ~r_i~ ~(1 \le l_i \le r_i \le n)~: hai đầu mút của đoạn trong truy vấn thứ ~i~.

  • Dữ liệu đảm bảo tọa độ của mọi cặp quân hậu là khác nhau.

Output

In ra ~q~ dòng, mỗi dòng là câu trả lời cho một truy vấn theo đúng thứ tự. Với truy vấn thứ ~i~, in ra Yes nếu cách đặt các quân hậu trong đoạn ~[l_i,r_i]~ là hợp lệ, tức là không có hai quân hậu nào trong đoạn tấn công nhau. Ngược lại, in ra No.

Scoring

Subtask Điểm Ràng buộc
1 ~20\%~ ~n \le 100, m \le 100\,000, q \le 100~
2 ~20\%~ ~n \le 5000, m \le 100\,000, q \le 5000~
3 ~20\%~ ~n \le 100\,000, m \le 100\,000, q \le 100\,000~
4 ~20\%~ Trong mọi truy vấn, ~l_i=1~
5 ~20\%~ Không có ràng buộc gì thêm

Sample Input 1

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

Sample Output 1

Yes
No
Yes
Yes
No
No
Yes
No

Notes

Trong ví dụ:

  • Ở truy vấn thứ nhất, quân hậu ~1~ và ~2~ không tấn công nhau.

  • Ở truy vấn thứ hai, quân hậu ~1~ và ~3~ tấn công nhau.

  • Ở truy vấn thứ ba, các quân hậu từ ~2~ đến ~5~ không tấn công nhau.

  • Ở truy vấn thứ tư, các quân hậu từ ~3~ đến ~5~ không tấn công nhau.

  • Ở truy vấn thứ năm, quân hậu ~3~ và ~6~, cũng như quân hậu ~4~ và ~6~, tấn công nhau.

  • Ở truy vấn thứ sáu, quân hậu ~4~ và ~6~, cũng như quân hậu ~4~ và ~7~, tấn công nhau.

  • Ở truy vấn thứ bảy, các quân hậu từ ~5~ đến ~7~ không tấn công nhau.

  • Ở truy vấn thứ tám, quân hậu ~2~ và ~7~ cùng nằm trên cột ~1~, nên chúng tấn công nhau.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.