JOI 2024 - Card Collection

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2500 (p) Thời gian: 4.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

JOI-kun rất thích sưu tập thẻ trong một trò chơi. Mỗi thẻ có hai số nguyên biểu thị sức mạnh và chi phí. Để có thẻ mới, JOI-kun mang \(N\) thẻ đến nơi đổi thẻ. Các thẻ được đánh số từ \(1\) đến \(N\); thẻ \(i\) có sức mạnh \(S_i\) và chi phí \(V_i\).

Tại đây có hai loại máy. Khi đưa hai thẻ \(A\)\(B\) vào một máy, JOI-kun nhận được một thẻ \(C\) theo quy tắc sau:

  • Máy thứ nhất tạo thẻ có sức mạnh bằng giá trị lớn hơn trong hai sức mạnh của \(A,B\), và chi phí bằng giá trị lớn hơn trong hai chi phí của \(A,B\).
  • Máy thứ hai tạo thẻ có sức mạnh bằng giá trị nhỏ hơn trong hai sức mạnh của \(A,B\), và chi phí bằng giá trị nhỏ hơn trong hai chi phí của \(A,B\).

JOI-kun muốn đổi thẻ đúng \(N-1\) lần để cuối cùng chỉ còn một thẻ. Ban đầu, cậu xếp các thẻ thành một hàng theo thứ tự từ thẻ \(1\) đến thẻ \(N\), rồi lặp lại thao tác sau đúng \(N-1\) lần:

Chọn hai thẻ kề nhau, lấy chúng ra khỏi hàng và đổi bằng một trong hai máy. Đặt thẻ mới vào vị trí của hai thẻ vừa lấy ra.

Sức mạnh và chi phí của thẻ cuối cùng phụ thuộc vào các thao tác được chọn. JOI-kun có danh sách \(M\) thẻ muốn nhận được. Thẻ thứ \(j\) trong danh sách được biểu diễn bởi cặp \((T_j,W_j)\), tương ứng với sức mạnh và chi phí.

Cho thông tin về các thẻ ban đầu và danh sách mong muốn, hãy xác định tất cả các thẻ trong danh sách mà JOI-kun có thể nhận được sau đúng \(N-1\) thao tác.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên \(N,M\).
  • Trong \(N\) dòng tiếp theo, dòng thứ \(i\) chứa hai số nguyên \(S_i,V_i\).
  • Trong \(M\) dòng tiếp theo, dòng thứ \(j\) chứa hai số nguyên \(T_j,W_j\).

Dữ liệu ra

In trên một dòng chỉ số của tất cả các thẻ trong danh sách có thể nhận được sau đúng \(N-1\) thao tác, theo thứ tự tăng dần và cách nhau bởi dấu cách. Nếu không có thẻ nào như vậy, in một dòng trống.

Ràng buộc

  • \(2 \le N \le 200000\).
  • \(1 \le M \le 200000\).
  • \(1 \le S_i \le 10^9\)\(1 \le V_i \le 10^9\) với mọi \(1 \le i \le N\).
  • \(1 \le T_j \le 10^9\)\(1 \le W_j \le 10^9\) với mọi \(1 \le j \le M\).
  • Tất cả các giá trị trong dữ liệu vào đều là số nguyên.

Phân nhóm

  1. \(11\) điểm: \(N \le 20\), \(M \le 10\).
  2. \(38\) điểm: \(N \le 2000\), \(M \le 10\).
  3. \(22\) điểm: \(M \le 10\).
  4. \(29\) điểm: Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
5 3
1 3
2 2
4 4
1 3
1 1
2 3
2 1
4 4
Output
1 3
Giải thích

Chẳng hạn, JOI-kun có thể nhận được thẻ có sức mạnh \(2\) và chi phí \(3\) bằng cách:

  1. Đổi thẻ \(4\) và thẻ \(5\) lấy thẻ có sức mạnh \(1\), chi phí \(1\).
  2. Đổi thẻ \(3\) và thẻ nhận được ở thao tác thứ nhất lấy thẻ có sức mạnh \(1\), chi phí \(1\).
  3. Đổi thẻ \(1\) và thẻ \(2\) lấy thẻ có sức mạnh \(2\), chi phí \(3\).
  4. Đổi hai thẻ nhận được ở thao tác thứ hai và thứ ba lấy thẻ có sức mạnh \(2\), chi phí \(3\).

Dù đã có thẻ mong muốn sau thao tác thứ ba, JOI-kun vẫn phải thực hiện thao tác cuối cùng để chỉ còn một thẻ. Một thẻ có thể xuất hiện ở giữa quá trình nhưng chưa chắc có thể là thẻ cuối cùng.

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
2 2
1 1
2 2
1 2
2 1
Output
Giải thích

Không thể nhận được thẻ nào trong danh sách sau \(N-1\) thao tác, nên cần in một dòng trống.

Ví dụ này thỏa mãn ràng buộc của tất cả các nhóm.

Ví dụ 3

Input
8 8
5 2
4 4
1 3
7 8
3 1
8 7
6 5
2 6
1 4
7 2
8 8
3 1
5 6
2 7
6 3
2 5
Output
3 4 5 8
Giải thích

Ví dụ này thỏa mãn ràng buộc của tất cả các nhóm.

Giới hạn

Giới hạn thời gian là \(4\) giây; giới hạn bộ nhớ là \(1024\) MB.

Nguồn

Đề bài của Ủy ban Olympic Tin học Nhật Bản, JOI 2023/2024, vòng tuyển chọn mùa xuân, ngày thi thứ ba. Đề gốc và bản dịch tiếng Việt được cung cấp theo giấy phép CC BY-SA 4.0.

Tệp

  • joi2024-c3-collection-ja.pdf — Đề bài tiếng Nhật chính thức của bài Card Collection, JOI 2023/2024, ngày thi thứ ba của vòng tuyển chọn mùa xuân.
  • joi2024-c3-collection-en.pdf — Đề bài tiếng Anh chính thức của bài Card Collection, JOI 2023/2024, ngày thi thứ ba của vòng tuyển chọn mùa xuân.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: