QOJ.ac

QOJ

Type: Editorial

Status: Open

Posted by: alpha1022

Posted at: 2026-01-28 02:35:19

Last updated: 2026-01-28 02:35:25

Back to Problem

题解

简要题意.

有数轴上的 $N$ 条线段 $L_i, R_i$,保证 $i$ 递增时长度不降,且没有相同的区间。
初始时,数轴上没有任何地方被覆盖。每次选择区间内未被覆盖的长度最小的一个区间(若相等则取编号最小的),将区间内覆盖。
求出覆盖的顺序。

$N \le 2.5 \times 10^5$,$R_i \le 10^9$。

显然,包含的区间一定在初始时和答案中都有序,因此我们只需考虑当前可选的区间中不包含其他区间的那些。

这就有 $L, R$ 各自上升,因此很容易维护。

我们还要支持取出新的不包含其他区间的区间,也就是说,不存在 $L_j, R_j$ 使得 $L_i \ge L_j, R_j \le R_i$。若将其看成二维点 $(L_i, R_i)$,则即右下角没有点。

适当排序后就是前 / 后缀最值,容易维护。

Comments

No comments yet.