#ABC256D. [ABC256D] 区间并集(Union of Interval)

    ID: 2650 Type: Default 1000ms 256MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>ABC入门算法闯关算法设计策略

[ABC256D] 区间并集(Union of Interval)

题目描述

对于实数 LLRR,我们用 [L,R)[L,R) 表示大于等于 LL 且小于 RR 的实数集合。这样的集合被称为右半开区间。

给定 NN 个右半开区间 [Li,Ri)[L_i, R_i)。设 SS 为它们的并集。将 SS 表示为最少数量的右半开区间的并集。

输入格式

输入从标准输入中给出,格式如下:

N N

L1 L_1 R1 R_1

\vdots

LN L_N RN R_N

输出格式

kk 为表示 SS 所需的最少右半开区间数。

XiX_i 升序输出这 kk个右半开区间 [Xi,Yi) [X_i,Y_i) ,格式如下:

X1 X_1 Y1 Y_1

\vdots

Xk X_k Yk Y_k

样例 #1

样例输入 #1

3
10 20
20 30
40 50

样例输出 #1

10 30
40 50

样例 #2

样例输入 #2

3
10 40
30 60
20 50

样例输出 #2

10 60

提示

样例说明 1

三个右半开区间 [10,20),[20,30),[40,50) [10,20),[20,30),[40,50) 的并集等于两个右半开区间 [10,30),[40,50) [10,30),[40,50) 的并集。

样例说明 2

三个右半开区间 [10,40),[30,60),[20,50) [10,40),[30,60),[20,50) 的并集等于一个右半开区间 [10,60) [10,60) 的并集。

数据范围

  • 1  N  2× 105 1\ \leq\ N\ \leq\ 2\times\ 10^5
  • 1  Li < Ri  2× 105 1\ \leq\ L_i\ \lt\ R_i\ \leq\ 2\times\ 10^5
  • 输入中的所有值都是整数。