区间

发布时间 2023-09-22 13:22:05作者: wscqwq

P1712 [NOI2016] 区间

我们考虑将区间先按照长度排序,然后进行离散化。

我们维护双指针,并发现只要双指针所指的区间 \([L,R]\) 内某个位置的出现次数不少于了 \(m\),那么我们可以选择这段区间内任意 \(m\) 个覆盖到这个位置的区间,而且不管怎么选,代价肯定是 \(R_{len}-L_{len}\)。(当然这里指的是对于右指针所指的位置,左指针右移后恰好能使得区间不满足要求)。

发现可以用线段树维护,然后每次就是一个全局的查询。注意当右指针到达最右侧时计算完后停止循环。若某一个时刻,右指针移动到最右侧都不行,也可以停止。