题目描述
对于实数 L 和 R,我们用[L,R)表示大于等于 L 且小于 R 的实数集合。这样的集合被称为右半开区间。
给定 N 个右半开区间 [Li,Ri)。设 S 为它们的并集。将 S 表示为最少数量的右半开区间的并集。
输入格式
输入从标准输入中给出,格式如下:
N
L1 R1
L2 R2
⋮
LN RN
输出格式
设 k 为表示 S 所需的最少右半开区间数。按 Xi 升序输出这 k 个右半开区间 [Xi,Yi),格式如下:
X1 Y1
X2 Y2
⋮
Xk Yk
样例
3
10 20
20 30
40 50
10 30
40 50
3
10 40
30 60
20 50
10 60
样例解释
【样例1说明】
三个右半开区间 [10,20),[20,30),[40,50) 的并集等于两个右半开区间 [10,30),[40,50) 的并集。
【样例2说明】
三个右半开区间 [10,40),[30,60),[20,50) 的并集等于一个右半开区间 [10,60) 的并集。
数据范围
- 1≤N≤2×105
- 1≤Li<Ri≤2×105
- 输入中的所有值都是整数。
来源