QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#402. Búp bê Matryoshka

Statistics

Bạn định mở một cửa hàng bán búp bê Matryoshka. Vì vậy, bạn đã đặt mua $N$ búp bê Matryoshka từ một nhà máy. Chúng được đánh số từ $1$ đến $N$. Búp bê thứ $i$ ($1 \le i \le N$) có thể được xem là một hình trụ tròn xoay rỗng bên trong, với đường kính đáy $R_i$ cm và chiều cao $H_i$ cm.

Các búp bê Matryoshka có thể được cất bằng cách lồng vào nhau. Mỗi búp bê có thể chứa đúng một búp bê khác có cả đường kính đáy lẫn chiều cao nhỏ hơn nó. Búp bê được chứa bên trong cũng có thể đang chứa một búp bê khác.

Một ngày nọ, nhà máy nơi bạn đặt mua búp bê Matryoshka liên lạc với bạn. Do không thể chuẩn bị cùng lúc toàn bộ $N$ búp bê đã đặt, họ cho biết sẽ giao trước tất cả những búp bê trong số $N$ búp bê có đường kính đáy ít nhất $A$ cm và chiều cao không quá $B$ cm.

Các giá trị $A,B$ có thể thay đổi đột ngột. Vì vậy, với mỗi một trong $Q$ cặp $(A_j,B_j)$ ($1 \le j \le Q$), bạn quyết định tính trước số lượng ít nhất các búp bê không nằm bên trong bất kỳ búp bê nào khác khi cất những búp bê được giao trước bằng cách lồng chúng vào nhau.

Yêu cầu

Cho thông tin về đường kính đáy và chiều cao của từng búp bê Matryoshka cùng với $Q$ cặp $(A_j,B_j)$ ($1 \le j \le Q$). Với mỗi cặp, hãy viết chương trình tính số lượng ít nhất các búp bê không nằm bên trong bất kỳ búp bê nào khác khi cất những búp bê được giao trước bằng cách lồng chúng vào nhau.

Dữ liệu vào

Đọc các dữ liệu sau từ đầu vào chuẩn.

  • Dòng đầu tiên chứa hai số nguyên $N,Q$ cách nhau bởi một dấu cách. Chúng cho biết bạn đã đặt mua $N$ búp bê Matryoshka và có $Q$ cặp giá trị $A,B$ được cho.
  • Dòng thứ $i$ ($1 \le i \le N$) trong $N$ dòng tiếp theo chứa hai số nguyên $R_i,H_i$ cách nhau bởi một dấu cách. Chúng cho biết búp bê thứ $i$ có đường kính đáy $R_i$ cm và chiều cao $H_i$ cm.
  • Dòng thứ $j$ ($1 \le j \le Q$) trong $Q$ dòng tiếp theo chứa hai số nguyên $A_j,B_j$ cách nhau bởi một dấu cách.

Dữ liệu ra

Đầu ra gồm $Q$ dòng. Trên dòng thứ $j$ ($1 \le j \le Q$), với cặp $(A_j,B_j)$, hãy in số lượng ít nhất các búp bê Matryoshka không nằm bên trong bất kỳ búp bê nào khác khi cất những búp bê được giao trước bằng cách lồng chúng vào nhau.

Giới hạn

Tất cả dữ liệu đầu vào thỏa mãn các điều kiện sau.

  • $1 \le N \le 200\,000$.
  • $1 \le Q \le 200\,000$.
  • $1 \le R_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le H_i \le 1\,000\,000\,000$ ($1 \le i \le N$).
  • $1 \le A_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).
  • $1 \le B_j \le 1\,000\,000\,000$ ($1 \le j \le Q$).

Nhiệm vụ con

Nhiệm vụ con 1 [11 điểm]

Thỏa mãn các điều kiện sau.

  • $N \le 10$.
  • $Q=1$.

Nhiệm vụ con 2 [15 điểm]

Thỏa mãn các điều kiện sau.

  • $N \le 100$.
  • $Q=1$.

Nhiệm vụ con 3 [25 điểm]

Thỏa mãn các điều kiện sau.

  • $N \le 2\,000$.
  • $Q \le 2\,000$.

Nhiệm vụ con 4 [49 điểm]

Không có giới hạn bổ sung.

Ví dụ

Dữ liệu vào 1

7 3
9 5
3 7
10 6
5 10
2 6
10 10
4 1
10 5
3 5
3 9

Dữ liệu ra 1

0
1
2

Ghi chú

  • Khi $(A,B)=(10,5)$, không có búp bê Matryoshka nào có đường kính đáy ít nhất $10$ cm và chiều cao không quá $5$ cm, nên in 0.
  • Khi $(A,B)=(3,5)$, những búp bê Matryoshka có đường kính đáy ít nhất $3$ cm và chiều cao không quá $5$ cm được giao đến, tức là búp bê thứ $1$ và thứ $7$. Có thể đặt búp bê thứ $7$ vào bên trong búp bê thứ $1$. Số lượng ít nhất các búp bê không nằm bên trong bất kỳ búp bê nào khác là $1$.
  • Khi $(A,B)=(3,9)$, những búp bê Matryoshka có đường kính đáy ít nhất $3$ cm và chiều cao không quá $9$ cm được giao đến, tức là các búp bê thứ $1,2,3,7$. Trong trường hợp này, có thể đặt búp bê thứ $7$ vào bên trong búp bê thứ $1$, rồi đặt búp bê thứ $1$ vào bên trong búp bê thứ $3$. Số lượng ít nhất các búp bê không nằm bên trong bất kỳ búp bê nào khác là $2$.

Dữ liệu vào 2

10 8
14 19
9 16
11 2
7 18
20 16
9 5
10 9
20 6
4 17
13 8
7 14
9 3
9 13
4 19
12 4
19 16
18 10
7 14

Dữ liệu ra 2

3
1
3
5
0
2
1
3

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.