#4341. Union of Interval

0

Union of Interval

Union of Interval

题目描述

对于实数 LL 和 RR,记 [L,R)[L,R) 为所有大于等于 LL 且小于 RR 的实数的集合。这样的集合称为右开左闭区间(half-open interval)。 给定 NN 个右开左闭区间 [Li,Ri)[L_i,R_i)。令 SS 为它们的并集。将 SS 表示为最少数量的右开左闭区间的并。

输入格式

输入按下列格式由标准输入给出: NN L1L_1 R1R_1 ⋮\vdots LNL_N RNR_N

输出格式

令 kk 为表示 SS 为若干右开左闭区间并所需的最小区间数。按 XiX_i 的升序打印 kk 行,包含这样的 kk 个右开左闭区间 [Xi,Yi)[X_i,Y_i),格式如下: X1X_1 Y1Y_1 ⋮\vdots XkX_k YkY_k

3
10 20
20 30
40 50
10 30
40 50
3
10 40
30 60
20 50
10 60

提示

1≤N≤2×1051 \leq N \leq 2\times 10^5 1≤Li<Ri≤2×1051 \leq L_i \lt R_i \leq 2\times 10^5 输入中的所有值均为整数。三个右开左闭区间 [10,20),[20,30),[40,50)[10,20),[20,30),[40,50) 的并等于两个右开左闭区间 [10,30),[40,50)[10,30),[40,50) 的并。
三个位于 [10,40),[30,60),[20,50)[10,40),[30,60),[20,50) 的并等于一个右开左闭区间 [10,60)[10,60) 的并。

标签: AtCoder|abc256D

来源

AtCoder|abc256D