鸽子的彩灯

考虑暴力做法:从后往前加入彩灯,并将包含这个灯的询问电流加上 cic_i,然后将电流 >si>s_i 的询问删除。

发现,若一个大的询问区间包含小的询问区间,则这个询问的答案不小于小的询问答案。

于是我们可以考虑先计算大区间的询问答案,则区间不存在包含关系,l,rl,r 单增,那么包含 pip_i 的考虑区间在排序后是一段区间,可以数据结构维护区间加,区间 max

每次找到电流最大的区间,若 >si>s_i 就删除,然后加入被其包含的小区间,加入的区间先前的贡献也可以简单维护。

加入时,找到右端点在一段区间内最小的左端点,数据结构维护。

时间复杂度 O(nlogn)\mathcal O(n\log n)

posted @   蒟蒻orz  阅读(9)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示