[ZR] 绝对值划分
source:zr 二十联测 day19 C
题意
定义序列
定义一个序列的划分
分析
性质 1:划分的每一段的和一定是正负交替出现。
将两个相邻的、同号的子段合并显然不劣。
性质 2:划分的段数不超过 3。
考虑中间的任意两个相邻的子段
,显然 的两个子段正负号不同。不妨令 子段和为正。若这两个子段的和为正,则可以跟 子段合并;若为负则跟 子段合并。
令前缀和数组为
划分段数为 1 显然。
若划分段数为 2,则我们需要求
若划分段数为 3,不妨设
性质 3: 存在最优解使得第一个子段(令其为
若其为负,则
取在 最小值处最优,此时划分段数为 2 显然不劣。
性质 4:划分点
若不满足,因为三个子段的正负号分别为正负正,则
必定有至少一个在 内,此时划分段数为 1 更优。
根据性质 4,此时的答案转化成了
发现
考虑怎么把复杂度做到一老哥。考虑在线段树上把询问区间拿出来,形成
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】