QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 256 MB 총점: 100

#402. 俄罗斯套娃

통계

你正准备开设一家销售俄罗斯套娃的商店。为此,你向工厂订购了 $N$ 个俄罗斯套娃,并给它们编号为 $1$ 到 $N$。其中第 $i$ 个 ($1 \le i \le N$) 套娃可以看作是一个底面直径为 $R_i$ cm、高度为 $H_i$ cm 的中空直圆柱体。

套娃可以嵌套存放。每个套娃最多只能放入一个底面直径和高度都比它小的其他套娃。被放入的套娃本身也可以装有其他套娃。

有一天,你收到了工厂的通知。由于无法一次性提供所有 $N$ 个套娃,工厂只能先提供所有底面直径不小于 $A$ cm 且高度不大于 $B$ cm 的套娃。

$A$ 和 $B$ 的值可能会随时改变。因此,你需要针对 $Q$ 个组 $(A_j, B_j)$ ($1 \le j \le Q$) 中的每一个,预先计算出当这些套娃被嵌套存放时,没有被放入任何其他套娃的套娃数量的最小值。

题目描述

给定每个套娃的底面直径和高度信息,以及 $Q$ 个组 $(A_j, B_j)$ ($1 \le j \le Q$)。对于每一组,请编写一个程序,计算当预先送达的套娃被嵌套存放时,没有被放入任何其他套娃的套娃数量的最小值。

输入格式

从标准输入读取以下数据:

  • 第 $1$ 行包含两个整数 $N, Q$,以空格分隔。这表示订购的套娃总数为 $N$,且给出了 $Q$ 组 $(A, B)$ 的值。
  • 接下来的 $N$ 行中的第 $i$ 行 ($1 \le i \le N$) 包含两个整数 $R_i, H_i$,以空格分隔。这表示第 $i$ 个套娃的底面直径为 $R_i$ cm,高度为 $H_i$ cm。
  • 接下来的 $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 \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$)

子任务

子任务 1 [11 点]

满足以下条件: $N \le 10$ $Q = 1$

子任务 2 [15 点]

满足以下条件: $N \le 100$ $Q = 1$

子任务 3 [25 点]

满足以下条件: $N \le 2\,000$ $Q \le 2\,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$ cm 且高度不大于 $5$ cm 的套娃,因此输出 $0$。
  • 当 $(A, B) = (3, 5)$ 时,底面直径不小于 $3$ cm 且高度不大于 $5$ cm 的套娃(即第 $1$ 个和第 $7$ 个套娃)送达。第 $7$ 个套娃可以放入第 $1$ 个套娃中。没有被放入任何其他套娃的套娃数量的最小值为 $1$。
  • 当 $(A, B) = (3, 9)$ 时,底面直径不小于 $3$ cm 且高度不大于 $9$ cm 的套娃(即第 $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.