QOJ.ac

QOJ

時間限制: 10 s 記憶體限制: 1024 MB 總分: 100

#4072. 枢纽城

统计

Hubtown 是一个大型北欧城市,居住着 $n$ 名市民。每天早上,每位市民都希望通过城市中的 $m$ 条通勤列车线路前往市中心的枢纽。每条列车线路都是一条射线(即从市中心出发向一个方向无限延伸的线段),市中心位于坐标 $(0, 0)$。然而,列车线路的容量有限(不同线路的容量可能不同),因此某些线路可能会满载,导致部分市民不得不开车通勤。市议会希望尽量减少开车的人数。为此,他们将发布指令,规定哪些市民可以乘坐哪条列车。

市民总是会选择距离其住所角距离最小的列车线路。但是,如果某位市民恰好位于两条列车线路的中间,他们愿意乘坐其中任意一条,市议会可以决定该市民应该使用哪两条线路中的哪一条。参见图 1 示例。

图 1:样例 1 的说明。虚线箭头表示市民距离最近的列车线路(注意我们测量的是角距离,而非欧几里得距离)。

你的任务是帮助市议会找到一个最大规模的市民子集,使他们能够在早上乘坐列车前往市中心,并确保每位市民乘坐的都是他们距离最近的线路之一,同时不超过任何列车线路的容量。对于这个子集,你还需要输出他们应该乘坐的列车线路。

输入格式

第一行包含两个整数 $n$ 和 $m$,其中 $0 \le n \le 200\,000$ 是市民人数,$1 \le m \le 200\,000$ 是列车线路条数。

接下来的 $n$ 行,每行包含两个整数 $x$ 和 $y$,表示市民住所的笛卡尔坐标。没有市民居住在市中心。

随后是 $m$ 行,每行包含三个整数 $x$、$y$ 和 $c$,描述一条列车线路,其中 $(x, y)$ 是该列车线路经过的一个点(与市中心不同),$0 \le c \le n$ 是该列车线路的容量。该列车线路是从 $(0, 0)$ 出发并经过 $(x, y)$ 的射线。

所有坐标 $x$ 和 $y$(包括市民住所和定义列车线路的点)的绝对值均不超过 $1000$。没有两条列车线路重合,但多名市民可能居住在同一坐标。

输出格式

首先,输出一个整数 $s$,表示能够乘坐列车前往市中心的最大市民人数。然后,输出 $s$ 行,每行对应一名乘坐列车的市民。在每一行中,输出该市民的编号,后跟该市民乘坐的列车线路编号。市民编号从 $0$ 到 $n-1$,按输入顺序排列。列车编号从 $0$ 到 $m-1$,按输入顺序排列。输出行可以以任意顺序给出。

样例

样例输入 1

3 2
2 0
-1 0
-2 -1
1 -1 1
1 1 2

样例输出 1

3
0 1
1 1
2 0

样例输入 2

6 3
1 1
1 1
1 1
-1 1
-1 1
0 1
-1 0 2
0 1 2
1 0 2

样例输出 2

6
0 2
1 2
2 1
5 1
3 0
4 0

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.