专栏文章
P12569 题解
P12569题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @minqb2pr
- 此快照首次捕获于
- 2025/12/02 06:36 3 个月前
- 此快照最后确认于
- 2025/12/02 06:36 3 个月前
首先进行简答的构造可以发现,至多需要三次即可将所有数非负/非正:取出前缀和最大的位置 ,如果前缀和最小的位置在左边就对 跑后缀和再对 跑前缀和,如果前缀和最小的位置在右边就对 跑前缀和再对 跑后缀和,最后再进行一次全局取反操作。
次是好判的。如果只允许操作 次可以推导出只有可能是 前缀和/后缀和或全局翻转。
难点在于判操作两次。首先判掉 前缀和/后缀和后全是负的的情况,不妨设第一次做了前缀和,两次操作区间分别为 ,,分类讨论:
- 如果第二次也做前缀和:如果 中所有东西前缀和非负那么完全可以令 ,否则就算是操作第二次前缀和也不可能使 中所有数非负。因此第一次必然是 ,随便上点线段树啥的判一下就行。
- 如果第二次做后缀和:考虑枚举 。注意到由于是做后缀和, 有一个最小值的限制。此时,我们希望选 最大的 ,其中 表示对 后缀做后缀和后 所有数的和。将后面两个 用前缀和表示会发现可以李超树维护。求出来之后再判一下是否可以满足前缀需求即可。
总复杂度 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...