QOJ.ac

QOJ

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

#402. 俄羅斯套娃

Statistics

你打算開一家販售俄羅斯套娃的商店,因此向工廠訂購了 $N$ 個俄羅斯套娃,編號為 $1$ 到 $N$。其中,第 $i$ 個($1\le i\le N$)俄羅斯套娃可以視為底面直徑為 $R_i$ 公分、高為 $H_i$ 公分的中空直圓柱。

俄羅斯套娃可以互相套疊來收納。每個俄羅斯套娃只能直接容納一個底面直徑和高度都比自己小的其他俄羅斯套娃。被放入的套娃裡也可以裝有其他俄羅斯套娃。

某天,訂購套娃的工廠聯絡了你。由於無法一次備齊訂購的全部 $N$ 個套娃,工廠會先送來這 $N$ 個套娃中,底面直徑至少為 $A$ 公分、且高度至多為 $B$ 公分的所有套娃。

$A,B$ 的值可能會突然改變。因此,你決定針對 $Q$ 組數值 $(A_j,B_j)$($1\le j\le Q$),預先求出將提早送達的套娃互相套疊收納後,沒有被任何其他套娃容納的套娃數量最少是多少。

任務

給定每個俄羅斯套娃的底面直徑與高度,以及 $Q$ 組數值 $(A_j,B_j)$($1\le j\le Q$)。請撰寫程式,對每一組數值求出:將提早送達的套娃互相套疊收納後,沒有被任何其他套娃容納的套娃數量最少是多少。

輸入格式

從標準輸入讀取以下資料。

  • 第一行包含以空白分隔的整數 $N,Q$,表示訂購了 $N$ 個俄羅斯套娃,且給定 $Q$ 組 $A,B$ 的值。
  • 接下來 $N$ 行中的第 $i$ 行($1\le i\le N$)包含以空白分隔的整數 $R_i,H_i$,表示第 $i$ 個俄羅斯套娃的底面直徑為 $R_i$ 公分、高為 $H_i$ 公分。
  • 接下來 $Q$ 行中的第 $j$ 行($1\le j\le Q$)包含以空白分隔的整數 $A_j,B_j$。

輸出格式

輸出共 $Q$ 行。第 $j$ 行($1\le j\le Q$)輸出對於 $(A_j,B_j)$,將提早送達的俄羅斯套娃互相套疊收納後,沒有被任何其他套娃容納的套娃數量的最小值。

資料範圍

所有輸入資料均滿足以下條件。

  • $1\le N\le200\,000$。
  • $1\le Q\le200\,000$。
  • $1\le R_i\le1\,000\,000\,000$($1\le i\le N$)。
  • $1\le H_i\le1\,000\,000\,000$($1\le i\le N$)。
  • $1\le A_j\le1\,000\,000\,000$($1\le j\le Q$)。
  • $1\le B_j\le1\,000\,000\,000$($1\le j\le Q$)。

子任務

子任務 1 [11 分]

滿足以下條件。

  • $N\le10$。
  • $Q=1$。

子任務 2 [15 分]

滿足以下條件。

  • $N\le100$。
  • $Q=1$。

子任務 3 [25 分]

滿足以下條件。

  • $N\le2\,000$。
  • $Q\le2\,000$。

子任務 4 [49 分]

沒有額外限制。

範例

輸入格式 1

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

輸出格式 1

0
1
2

說明

  • 當 $(A,B)=(10,5)$ 時,沒有任何套娃的底面直徑至少為 $10$ 公分且高度至多為 $5$ 公分,因此輸出 $0$。
  • 當 $(A,B)=(3,5)$ 時,會送來底面直徑至少為 $3$ 公分且高度至多為 $5$ 公分的套娃,也就是第 1、7 個套娃。可以把第 7 個套娃放入第 1 個套娃中。沒有被任何其他套娃容納的套娃數量最少為 $1$。
  • 當 $(A,B)=(3,9)$ 時,會送來底面直徑至少為 $3$ 公分且高度至多為 $9$ 公分的套娃,也就是第 1、2、3、7 個套娃。此時可以把第 7 個套娃放入第 1 個套娃中,再把第 1 個套娃放入第 3 個套娃中。沒有被任何其他套娃容納的套娃數量最少為 $2$。

輸入格式 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

輸出格式 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.