#CF2018E1. 复杂线段(简单版)
复杂线段(简单版)
E1. 复杂线段(简单版)
每个测试点时间限制: 秒
每个测试点内存限制: 兆字节
Ken Arai - COMPLEX
⠀
这是该问题的简单版本。在此版本中, 的约束条件与时间限制较低。只有当两个版本都通过时,你才能进行 Hack 操作。
一个(闭)线段集合被称为复杂集合,如果它可以被划分成若干个子集,使得:
- 所有子集的大小相同;
- 两条线段相交 当且仅当 它们属于同一个子集。
现在给定 条线段 。
请找出这些线段中,一个复杂子集的最大可能大小。
输入格式
每个测试点包含多个测试用例。
第一行包含一个整数 (),表示测试用例的数量。
接下来每个测试用例的描述如下:
- 第一行包含一个整数 (),表示线段的数量。
- 第二行包含 个整数 (),表示线段的左端点。
- 第三行包含 个整数 (),表示线段的右端点。
保证:所有测试用例的 之和不超过 。
输出格式
对于每个测试用例,输出一个整数:这些线段中一个复杂子集的最大可能大小。
示例
输入:
3
3
1 2 3
5 4 6
5
1 2 3 6 8
5 4 7 9 10
5
3 1 4 1 5
7 2 6 5 10
输出:
3
4
4
示例解释
- 在第一个测试用例中,所有线段对都相交,因此最优方案是将全部 条线段放在一个组里。
- 在第二个测试用例中,无法将全部 条线段构成复杂集合。一个包含 条线段的有效划分是:
。 - 在第三个测试用例中,最优方案是只包含除了第 条线段以外的所有 条线段,将它们放在一个组里。