1 条题解
-
0
考虑固定 求出序列 。首先一定是要最小化 ,因此第一段不可能延到 的位置,处理出 表示下一个 ,剩余 个点没放时,设当前在 ,若 则直接跳到 ,否则后继是 。
对于单个 模拟依然没有很好的性质,可以对于 从大到小扫描线,因为 相当于限制了后继的自由程度, 越小自由程度越高,将询问离线到 上。,从上一个决策的子序列中找到首个可以调整决策成更优的位置,由于它是因为被剩余点数限制导致第一次满足,所以后面的选取一定是后缀全连续选上。
使用数据结构维护这个子序列,处理出 表示下一个 ,一个段 的所有决策形如不断跳 且这个过程一直在 之前,时刻维护它的下一步决策,在对应的 加入这个移动的决策即可。查询直接在数据结构二分即可。时间复杂度 。
- 1
信息
- ID
- 9586
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者