【Codeforces】1136 E. Nastya Hasn't Written a Legend -线段树

传送门:CF1136E


题解

需要一个转换:
s i s_i si k i k_i ki的前缀和, b i = a i − s i − 1 b_i=a_i-s_{i-1} bi=aisi1

条件 a i ≥ a i − 1 + k i − 1 → a i − k i − 1 ≥ a i − 1 → a i − s i − 1 ≥ a i − 1 − s i − 2 a_i\geq a_{i-1}+k_{i-1}\to a_i-k_{i-1}\geq a_{i-1}\to a_i-s_{i-1}\geq a_{i-1}-s_{i-2} aiai1+ki1aiki1ai1aisi1ai1si2等价于
b i ≥ b i − 1 b_i\geq b_{i-1} bibi1

线段树维护 b i b_i bi,求解 a i a_i ai的区间和相当于 ∑ b i − ∑ t i \sum b_i-\sum t_i biti,维护区间 max ⁡ \max max和修改标记, n log ⁡ n n\log n nlogn次后 b i b_i bi必然有序,复杂度可以保证。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值