1 条题解
-
0
首先,如果 ,那么从 到 的过程中一定会经过 ,直接删掉 即可( 同理)。故接下来我们认为 这个序列是波浪状的。
记 。
考虑如果 恒成立,则对于 一定是从 移动到 (反过来同理),那么所有贡献都是固定的,形如 ,直接拆开计算即可。
否则,我们考虑 最小的一个 (不妨认为 ),那么一定有 ,可以发现此时从 到 的过程中左端点一定会经过 ,并且因为 故此时就覆盖了 ,因此这两个点都可以删掉。
当然在边界情况如 或者 不存在的情况要单独考虑一下,但都是可以删点的。
综上,我们将所有询问区间按照长度从小到大排序,用链表维护剩余的 ,用 set 维护最小的 ,每次删掉直到满足 ,此时可以拆开 计算,复杂度 。
- 1
信息
- ID
- 8458
- 时间
- 3000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者