专栏文章
CF2117C Cool Partition 题解
CF2117C题解参与者 2已保存评论 1
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mip465nf
- 此快照首次捕获于
- 2025/12/03 05:52 3 个月前
- 此快照最后确认于
- 2025/12/03 05:52 3 个月前
不难想到贪心策略:对于每个位置,如果可以断开必定断开。
证明:假设当前位置为 且可以断开。如果最优方案是在位置 ()断开的话,我们可以将位置 并入下一段内。根据我们的假设,这样做一定是合法的,并且由于当前段中的元素变少了,我们的总段数也一定不会变少。最后一段是否合法也不影响,因为如果不合法,我们可以简单地将其并入前面一段,这样做不会影响总段数。
考虑实现,可以开两个
set,一个存前一段中的元素(记作集合 ),一个存当前段中的元素(记作集合 )。遍历到 时,将其从 中移除,并将其加入 。当 为空时,即意味着可以从当前位置断开,此时更新答案并将 作为新的 继续遍历。
时间复杂度 。
相关推荐
评论
共 1 条评论,欢迎与作者交流。
正在加载评论...