#L4083. 「ROI 2023 Day2」会议

「ROI 2023 Day2」会议

题目描述

译自 ROI 2023 Day2 T2. Конференция

秋明科学和教育协会组织了一次会议,计划在会议期间举办 nn 个活动,编号为 11nn。其中,第 ii 个活动由两个整数 lil_{i}rir_{i} 表示,分别是活动的开始时间和结束时间。

由于一些活动可能会重叠或甚至完全重合,一个人不一定能参加会议的所有活动。我们认为,如果 ri<ljr_{i}<l_{j}rj<lir_{j}<l_{i},那么活动 iijj 就不会相交。

我们称一个活动集合是相容的,如果这个集合中的任意两个不同的活动都不相交。设会议中相容活动集合的最大大小为 mm。我们称会议的饱和度为 nm\frac{n}{m}

由于资金缩减,会议的组织者决定会议的活动数量将减少一半。为了保持会议的饱和度不变,他们希望相容活动集合的最大大小也减少一半。幸运的是,在原来的会议计划中活动数量 nn,和最大相容活动集合的大小 mm 都为偶数。

请帮助组织者从原来计划的 nn 个活动中选择 n2\frac{n}{2} 个活动,使得这些活动的最大相容集合的大小为 m2\frac{m}{2}

输入格式

输入包含多组数据。第一行包含一个整数 t (1t5104)t\ (1 \leq t \leq 5\cdot 10^4),表示测试数据的组数。

每组测试数据的第一行包含一个整数 n (2n105)n\ (2 \leq n \leq 10^5),表示原计划中的活动数量,保证 nn 为偶数。

接下来的 nn 行给出活动的描述。在第 ii 行包含两个整数 li,ri (1li<ri109)l_{i}, r_{i}\ (1 \leq l_{i}<r_{i} \leq 10^{9}),表示第 ii 个活动的开始时间和结束时间。

保证原计划中相容活动集合的大小 mm 是偶数。

输出格式

对于每组测试数据,输出一行包含 n2\frac{n}{2} 个不同的活动编号,表示需要举办的活动。如果存在多个合法的答案,你可以输出任意一个。对于举办的活动,相容活动集合的最大大小应该等于 m2\frac{m}{2}

样例

输入

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

输出

2 5 3 4
1 2 3

数据范围与提示

tt 组测试数据中的 nn 之和为 NN

如果 lilj<rjril_{i} \leq l_{j}<r_{j} \leq r_{i},我们说活动 ii 覆盖活动 jj

详细子任务附加限制及分值如下表所示。其中子任务 00 是样例。

子任务编号 分值 NN 的限制 附加限制 子任务依赖
1 5 N105N \leq 10^5 任意两个活动不相交 -
2 20 N20N \leq 20 - 0
3 7 N30N \leq 30 0, 2
4 15 N500N \leq 500 每一对活动要么一个活动覆盖另一个,要么它们不相交;存在一个活动,它覆盖所有其他活动 -
5 N105N \leq 10^5 每一对活动要么一个活动覆盖另一个,要么它们不相交 1, 4
6 13 N500N \leq 500 - 0, 2~4
7 N5000N \leq 5000 0, 2~4, 6
8 12 N105N \leq 10^5 0, 1~7