JOI 2023 - Passport
Xem PDFHộ chiếu là giấy tờ được sử dụng trên khắp thế giới khi một người nhập cảnh vào nước ngoài.
Trên một hành tinh có \(N\) quốc gia, đánh số từ \(1\) đến \(N\). Mỗi quốc gia phát hành một loại hộ chiếu. Người có hộ chiếu do quốc gia \(i\) (\(1\le i\le N\)) phát hành được nhập cảnh vào các quốc gia \(L_i,L_i+1,\ldots,R_i\). Luôn được nhập cảnh vào chính quốc gia đã phát hành hộ chiếu, tức là \(L_i\le i\le R_i\).
Bạn có một người bạn rất thích du lịch. Cậu ấy mơ ước đi vòng quanh thế giới, nhưng ban đầu chưa có hộ chiếu nào. Vì vậy, cậu dự định ghé thăm tất cả \(N\) quốc gia bằng cách lặp lại hai hành động sau:
- Nhận hộ chiếu do quốc gia mà cậu đang ở phát hành.
- Di chuyển đến một quốc gia mà cậu được nhập cảnh bằng một trong các hộ chiếu hiện có.
Khi nghe kế hoạch này, bạn muốn biết cậu ấy có thể thực hiện được hay không. Nếu có thể, số hộ chiếu ít nhất mà cậu cần nhận là bao nhiêu? Do không biết cậu đang sống ở đâu, bạn xét \(Q\) khả năng về quốc gia nơi cậu sống: \(X_1,X_2,\ldots,X_Q\).
Cho thông tin về các hộ chiếu và những khả năng về nơi ở. Với mỗi khả năng, hãy xác định cậu ấy có thể ghé thăm tất cả \(N\) quốc gia hay không; nếu có thể, hãy tính số hộ chiếu ít nhất cần nhận.
Dữ liệu vào
Đọc từ đầu vào chuẩn theo định dạng:
N
L_1 R_1
L_2 R_2
...
L_N R_N
Q
X_1
X_2
...
X_Q
Dữ liệu ra
Xuất \(Q\) dòng ra đầu ra chuẩn. Dòng thứ \(j\) (\(1\le j\le Q\)) tương ứng với trường hợp người bạn sống ở quốc gia \(X_j\). Nếu có thể ghé thăm tất cả \(N\) quốc gia, xuất số hộ chiếu ít nhất cần nhận. Nếu không thể, xuất -1.
Ràng buộc
- \(2\le N\le 200\,000\).
- \(1\le L_i\le i\le R_i\le N\) với \(1\le i\le N\).
- \(1\le Q\le N\).
- \(1\le X_j\le N\) với \(1\le j\le Q\).
- \(X_j<X_{j+1}\) với \(1\le j\le Q-1\).
- Tất cả giá trị đầu vào đều là số nguyên.
Phân nhóm
Mọi nhóm đều tuân theo các ràng buộc chung ở trên.
- \(6\) điểm: \(Q=1\), \(X_1=1\).
- \(16\) điểm: \(N\le 300\), \(Q=1\).
- \(24\) điểm: \(N\le 2\,500\), \(Q=1\).
- \(8\) điểm: \(N\le 2\,500\).
- \(46\) điểm: Không có ràng buộc bổ sung.
Ví dụ
Ví dụ 1
Input
4
1 3
2 4
2 3
4 4
1
1
Output
2
Giải thích
Giả sử người bạn sống ở quốc gia \(X_1=1\). Cậu có thể ghé thăm cả \(4\) quốc gia bằng cách thực hiện các hành động sau, nhận tổng cộng \(2\) hộ chiếu:
- Nhận hộ chiếu do quốc gia \(1\) phát hành.
- Dùng hộ chiếu của quốc gia \(1\) để di chuyển đến quốc gia \(2\).
- Nhận hộ chiếu do quốc gia \(2\) phát hành.
- Dùng hộ chiếu của quốc gia \(1\) để di chuyển đến quốc gia \(3\).
- Dùng hộ chiếu của quốc gia \(2\) để di chuyển đến quốc gia \(4\).
Không thể thực hiện kế hoạch nếu nhận không quá \(1\) hộ chiếu, nên xuất 2. Ví dụ này thỏa mãn ràng buộc của tất cả các nhóm.
Ví dụ 2
Input
5
1 5
2 4
2 3
3 5
1 5
1
3
Output
4
Giải thích
Giả sử người bạn sống ở quốc gia \(X_1=3\). Cậu có thể ghé thăm cả \(5\) quốc gia bằng cách thực hiện các hành động sau, nhận tổng cộng \(4\) hộ chiếu:
- Nhận hộ chiếu do quốc gia \(3\) phát hành.
- Dùng hộ chiếu của quốc gia \(3\) để di chuyển đến quốc gia \(2\).
- Nhận hộ chiếu do quốc gia \(2\) phát hành.
- Dùng hộ chiếu của quốc gia \(2\) để di chuyển đến quốc gia \(4\).
- Nhận hộ chiếu do quốc gia \(4\) phát hành.
- Dùng hộ chiếu của quốc gia \(4\) để di chuyển đến quốc gia \(5\).
- Nhận hộ chiếu do quốc gia \(5\) phát hành.
- Dùng hộ chiếu của quốc gia \(5\) để di chuyển đến quốc gia \(1\).
Không thể thực hiện kế hoạch nếu nhận không quá \(3\) hộ chiếu, nên xuất 4. Ví dụ này thỏa mãn ràng buộc của các nhóm \(2,3,4,5\).
Ví dụ 3
Input
5
1 1
2 3
1 5
3 4
5 5
5
1
2
3
4
5
Output
-1
2
1
2
-1
Giải thích
Chẳng hạn, nếu người bạn sống ở quốc gia \(X_3=3\), cậu có thể nhận hộ chiếu do quốc gia \(3\) phát hành rồi dùng hộ chiếu đó để lần lượt ghé thăm các quốc gia \(1,2,4,5\). Vì vậy, dòng thứ ba là 1.
Ngược lại, nếu sống ở quốc gia \(X_5=5\), dù nhận hộ chiếu do quốc gia \(5\) phát hành, cậu vẫn không thể nhập cảnh vào quốc gia nào khác. Do đó, không thể thực hiện kế hoạch và dòng thứ năm là -1.
Ví dụ này thỏa mãn ràng buộc của các nhóm \(4,5\).
Ví dụ 4
Input
4
1 2
1 2
3 4
3 4
4
1
2
3
4
Output
-1
-1
-1
-1
Giải thích
Ví dụ này thỏa mãn ràng buộc của các nhóm \(4,5\).
Nguồn
JOI 2022/2023 Spring Training, Contest 1, bài Passport, tác giả 米田寛峻 và 米田優峻.
Bản dịch tiếng Việt từ đề của JCIOI (Ủy ban Olympic Tin học Quốc tế Nhật Bản), theo giấy phép CC BY-SA 4.0.
Kỳ thi:
- JOI 2023 - Tuyển chọn mùa xuân - Ngày 1 (19 Tháng ba, 2023)
Bình luận