1 条题解
-
0
对于每一轮操作,我们用数组维护若干个 ,表示在当前轮操作完后,“夜影”特工可能到达的位置。初始化这个数组为 。
对于每一次操作,遍历每一对 进行更新
- 如果 ,那么操作后可能的区间为 。
- 如果 ,那么操作后可能的区间为 。
- 如果 ,那么操作后可能的区间为 , ,当 时,还有区间 。
操作完排序统计个数即可。排完序后可以对于有交叉的 进行合并,减少后续操作的次数。
乍看之下,该解法的时间复杂度似乎是 ,因为可能存在的区间数量会达到 级别,且每个区间都需要更新。但通过观察可以发现,实际同时存在的有效区间不会超过 个:初始区间 (可向左右扩展)、最左端点 (仅能向右扩展)以及最右端点 (仅能向左扩展)。
时间复杂度: ,维护的区间数量为常数级别。
- 1
信息
- ID
- 8291
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- 递交数
- 19
- 已通过
- 7
- 上传者