专栏文章
题解:CF2162H Beautiful Problem
CF2162H题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min3y5mz
- 此快照首次捕获于
- 2025/12/01 20:10 3 个月前
- 此快照最后确认于
- 2025/12/01 20:10 3 个月前
一个自认为简单不少的做法。
以下分别记 为 的数。
首先, 的限制等价为「 中不能有 或 其一」。
记 表示覆盖 的区间中,左端点离 最远有多远,形式化地,。如果 不被任何区间覆盖,设 。 类似定义为右端点最远的距离。则如果将 填入 ,那么 中都不能有 了。
比较万能,不受限制影响。如果 比较多其实是没什么影响的,但是如果数量不够可能就寄了。
我们设状态 表示现在已经填完 且 填的是 ,总共填了 个 时最少需要多少个 才不会爆。
经典地,容易说明若 ,则 且 。这说明,一个 带来的限制不会跨过另一个 去管辖远方的位置。
所以我们可以暴力转移,直接枚举上一个 填在哪了,设为 。中间必须填 的位置共有 个,其它的都可以填入 。
故,转移方程如下:
初始 。
再记 表示 有 个时 最少需要多少个。可以 得到。判断一个 是否合法时,直接算出 和 的数量查表即可。
现在 的计算是 ,可以使用手法优化一下。我们分讨转移时取到了 中的哪一项。对于一个确定的 ,存在一个分界点,使得分界点之前的 取到第一项,分界点后取到第二项,且分界点本身关于 也是单增的。取到第二项的可以单调队列维护,第一项直接维护不在单调队列里的最优决策点即可。
直接实现复杂度 。如果喜欢赤石可以卡到时间 ,空间 。
Submission,实现的时候在梦游,空间写的是 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...