CF660F题解
设vali,j为区间[l,r]的答案
根据题意,我们可以维护ai和i∗ai的前缀和sum1,sum2
vall,r=sum2[r]−sum2[l−1]−(l−1)∗(sum1[r]−sum1[l−1])
我们枚举r
对于所有vall′,r≤vall,r,有
(l′−1)∗sum1l′−1−sum2l′−1−(l′−1)∗sum1r≤(l−1)∗sum1l−1−sum2l−1−(l−1)∗sum1r
我们发现这个式子可以斜率优化
斜率优化一般把我们要的最大值/最小值也就是这里的vall,r放在b里面,那么(l−1)∗sum1l−1−sum2l−1−(l−1)∗sum1r就可以表示成y−kx,
把跟r有关的放在k里面,k=sum1r
于是b=vall,r−sumr,x=l−1,y=(l−1)∗sum1l−1
因为是最大值,我们维护一个上凸壳每次二分找到第一个斜率小于sun1r的位置,然后更新答案即可
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· 语音处理 开源项目 EchoSharp
· 《HelloGitHub》第 106 期
· Huawei LiteOS基于Cortex-M4 GD32F4平台移植
· mysql8.0无备份通过idb文件恢复数据过程、idb文件修复和tablespace id不一致处