鸽子的彩灯
考虑暴力做法:从后往前加入彩灯,并将包含这个灯的询问电流加上 ,然后将电流 的询问删除。
发现,若一个大的询问区间包含小的询问区间,则这个询问的答案不小于小的询问答案。
于是我们可以考虑先计算大区间的询问答案,则区间不存在包含关系, 单增,那么包含 的考虑区间在排序后是一段区间,可以数据结构维护区间加,区间 max
。
每次找到电流最大的区间,若 就删除,然后加入被其包含的小区间,加入的区间先前的贡献也可以简单维护。
加入时,找到右端点在一段区间内最小的左端点,数据结构维护。
时间复杂度 。
本文来自博客园,作者:蒟蒻orz,转载请注明原文链接:https://www.cnblogs.com/orzz/p/18121895