QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 512 MB 總分: 100

#8907. 会议

统计

题目描述

秋明科学与教育协会正在组织一场会议,计划举办 $n$ 场活动,编号从 $1$ 到 $n$。第 $i$ 场活动由两个整数 $l_i$ 和 $r_i$ 定义,分别表示活动的开始时间和结束时间。

由于某些活动可能会在时间上重叠甚至完全重合,一个人并不总能参加会议的所有活动。我们认为,如果 $r_i < l_j$ 或 $r_j < l_i$,则活动 $i$ 和 $j$ 不相交。

如果一个活动集合中任意两个不同的活动都不相交,我们称该集合为相容集合。设会议中相容活动集合的最大大小为 $m$。我们将会议的饱和度定义为 $n/m$。

由于经费缩减,会议组织者决定将会议的活动数量减少一半。同时,他们希望保持会议的饱和度不变,因此相容活动集合的最大大小也必须减少一半。幸运的是,在原始会议计划中,活动总数 $n$ 和最大相容活动集合的大小 $m$ 均为偶数。

请帮助组织者从原计划的 $n$ 场活动中选择 $n/2$ 场活动进行举办,使得所选活动中最大相容活动集合的大小恰好为 $m/2$。

输入格式

一个测试点包含多个输入数据。 第一行包含一个整数 $t$ —— 输入数据的组数 ($1 \le t \le 50\,000$)。 每个输入数据的第一行包含一个整数 $n$ —— 原始计划中的活动数量 ($2 \le n \le 100\,000$,$n$ 为偶数)。 接下来的 $n$ 行,每行包含两个整数 $l_i$ 和 $r_i$ —— 第 $i$ 场活动的开始和结束时间 ($1 \le l_i < r_i \le 10^9$)。 保证原始计划中最大相容活动集合的大小 $m$ 为偶数。

输出格式

对于每组输入数据,在单独的一行中输出 $n/2$ 个不同的活动编号,即需要举办的活动。如果存在多个合适的答案,你可以输出其中任意一个。对于所选的活动,其最大相容活动集合的大小必须等于 $m/2$。

子任务

设 $N$ 为单个测试点中所有输入数据的 $n$ 之和。 我们称活动 $i$ 覆盖活动 $j$,如果 $l_i \le l_j < r_j \le r_i$。

子任务 分值 $N$ 附加限制 依赖子任务
1 5 $N \le 100\,000$ 任意两个活动均不相交
2 20 $N \le 20$ 1
3 7 $N \le 30$ 1, 2
4 15 $N \le 500$ 在每对活动中,要么一个活动覆盖另一个,要么它们不相交;存在一个覆盖所有其他活动的活动
5 15 $N \le 100\,000$ 在每对活动中,要么一个活动覆盖另一个,要么它们不相交 1, 4
6 13 $N \le 500$ 1, 2–4
7 13 $N \le 5\,000$ 1, 2–4, 6
8 12 $N \le 100\,000$ 1, 1–7

说明

图示可视化了活动。开始时间为 $l_i$、结束时间为 $r_i$ 的活动表示为区间 $[l_i, r_i]$。

图 1:示例中第一组输入数据的原始活动集合。其中一个最大相容集合用粗虚线标出。

图 2:对应示例中第一组输入数据答案的活动集合。其中一个最大相容集合用粗虚线标出。

图 3:示例中第二组输入数据的原始活动集合。其中一个最大相容集合用粗虚线标出。

图 4:对应示例中第二组输入数据答案的活动集合。其中一个最大相容集合用粗虚线标出。

样例

输入格式 1

2
8
12 14
1 3
2 4
1 10
5 6
7 9
8 10
11 13
6
1 2
2 4
1 2
1 4
5 7
6 8

输出格式 1

2 5 3 4
1 2 3

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.