Processing math: 100%

导航

统计

CF660F题解

vali,j为区间[l,r]的答案

根据题意,我们可以维护aiiai的前缀和sum1,sum2

vall,r=sum2[r]sum2[l1](l1)(sum1[r]sum1[l1])

我们枚举r

对于所有vall,rvall,r,有

(l1)sum1l1sum2l1(l1)sum1r(l1)sum1l1sum2l1(l1)sum1r

我们发现这个式子可以斜率优化

斜率优化一般把我们要的最大值/最小值也就是这里的vall,r放在b里面,那么(l1)sum1l1sum2l1(l1)sum1r就可以表示成ykx

把跟r有关的放在k里面,k=sum1r

于是b=vall,rsumr,x=l1,y=(l1)sum1l1

因为是最大值,我们维护一个上凸壳每次二分找到第一个斜率小于sun1r的位置,然后更新答案即可

posted on   CHK666  阅读(40)  评论(0编辑  收藏  举报

编辑推荐:
· 如何打造一个高并发系统?
· .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不一致处
点击右上角即可分享
微信分享提示