1 条题解
-
0
题解
思路
沿用普通 LIS 的最小末尾值数组 :若把值域位置 标为 当且仅当某个 ,则加入一个连续段 的效果可以整体描述。
做法
先从位置 起向右删除最靠左的至多 个标记,再把区间 的所有位置标为 。这是逐个插入 并做
lower_bound更新的等价批量操作。把所有 与 离散化,相邻坐标之间的值域在所有操作中始终整体处理。线段树维护每段长度、当前标记数以及区间赋零或赋一的懒标记。删除时从 对应位置向右递归:若整棵子树的标记数不超过剩余删除量就整段赋零,否则只进入包含第一个未删除标记的边界子树;随后将 赋一。
复杂度
每次操作只经过对数个边界节点,总复杂度为 ,空间复杂度为 ,根节点的标记总数即为答案。
- 1
信息
- ID
- 1604
- 时间
- 2500ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者