CF1841D.Pairs of Segments
普及+/提高
通过率:0%
时间限制:4.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Two segments [l1,r1] and [l2,r2] intersect if there exists at least one x such that l1≤x≤r1 and l2≤x≤r2.
An array of segments [[l1,r1],[l2,r2],…,[lk,rk]] is called beautiful if k is even, and is possible to split the elements of this array into 2k pairs in such a way that:
- every element of the array belongs to exactly one of the pairs;
- segments in each pair intersect with each other;
- segments in different pairs do not intersect.
For example, the array [[2,4],[9,12],[2,4],[7,7],[10,13],[6,8]] is beautiful, since it is possible to form 3 pairs as follows:
- the first element of the array (segment [2,4]) and the third element of the array (segment [2,4]);
- the second element of the array (segment [9,12]) and the fifth element of the array (segment [10,13]);
- the fourth element of the array (segment [7,7]) and the sixth element of the array (segment [6,8]).
As you can see, the segments in each pair intersect, and no segments from different pairs intersect.
You are given an array of n segments [[l1,r1],[l2,r2],…,[ln,rn]]. You have to remove the minimum possible number of elements from this array so that the resulting array is beautiful.
两个线段 [l1,r1] 和 [l2,r2] 相交,当且仅当存在至少一个 x,使得 l1≤x≤r1 且 l2≤x≤r2。
一个线段数组 [[l1,r1],[l2,r2],…,[lk,rk]] 被称为优美的(beautiful),如果满足以下条件:
- k 是偶数;
- 可以将该数组的元素恰好划分为 2k 对,使得:
- 数组中的每个元素恰好属于其中一对;
- 每对中的两个线段彼此相交;
- 不同对中的线段互不相交。
例如,数组 [[2,4],[9,12],[2,4],[7,7],[10,13],[6,8]] 是优美的,因为可以如下构造 3 对:
- 数组的第一个元素(线段 [2,4])与第三个元素(线段 [2,4])配对;
- 数组的第二个元素(线段 [9,12])与第五个元素(线段 [10,13])配对;
- 数组的第四个元素(线段 [7,7])与第六个元素(线段 [6,8])配对。
如你所见,每对中的线段均相交,而不同对之间的线段互不相交。
现给你一个包含 n 个线段的数组 [[l1,r1],[l2,r2],…,[ln,rn]]。你需要从中删除最少数量的元素,使得剩余数组是优美的。
输入格式
The first line contains one integer t (1≤t≤1000) — the number of test cases.
The first line of each test case contains one integer n (2≤n≤2000) — the number of segments in the array. Then, n lines follow, the i-th of them contains two integers li and ri (0≤li≤ri≤109) denoting the i-th segment.
Additional constraint on the input: the sum of n over all test cases does not exceed 2000.
第一行包含一个整数 t(1≤t≤1000)—— 测试用例的数量。
每个测试用例的第一行包含一个整数 n(2≤n≤2000)—— 数组中线段的数量。随后是 n 行,其中第 i 行包含两个整数 li 和 ri(0≤li≤ri≤109),表示第 i 条线段。
输入的额外约束:所有测试用例的 n 值之和不超过 2000。
输出格式
For each test case, print one integer — the minimum number of elements you have to remove so that the resulting array is beautiful.
对于每个测试用例,输出一个整数——即需要删除的最少元素个数,使得剩余数组是优美的。
输入输出样例
输入#1
3 7 2 4 9 12 2 4 7 7 4 8 10 13 6 8 5 2 2 2 8 0 10 1 2 5 6 4 1 1 2 2 3 3 4 4
输出#1
1 3 4
说明/提示
In the first test case of the example, it is enough to delete the 5-th element of the array of segments. Then you get the array [[2,4],[9,12],[2,4],[7,7],[10,13],[6,8]], which is beautiful.
In the second test case of the example, you can delete the 1-st, 3-rd and 4-th element of the array. Then you get the array [[2,8],[5,6]], which is beautiful.
In the third test case of the example, you have to delete the whole array.
在示例的第一个测试用例中,只需删除数组中第 5 个线段即可。此时得到的数组为 [[2,4],[9,12],[2,4],[7,7],[10,13],[6,8]],该数组是优美的。
在示例的第二个测试用例中,可以删除数组中第 1、第 3 和第 4 个元素。此时得到的数组为 [[2,8],[5,6]],该数组是优美的。
在示例的第三个测试用例中,必须删除整个数组。
输入解题思路,AI测评打分。不知道怎么写?