码迷,mamicode.com
首页 > 其他好文 > 详细

【线段树 经典技巧】10.7序列绝对值

时间:2019-10-07 16:12:08      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:位置   block   sum   区间   线段树   现在   span   它的   定义   

依旧是经典的线段树处理新定义权值以及拆绝对值技巧

不过稍微有些细节

题目大意

初始先给定一个序列$A$,定义一个序列的绝对权值为$\sum\limits_{i=2}^n|a_i-a_{i-1}|$.

现在有$q$次操作,每个操作或是询问如果在$A[l,r]$任选一个数加上$x$,$A$的绝对权值最大是多少;或区间加。

$n,q\le 3\times10^5$,保证$1<l\le r<n$.


题目分析

首先这是一个经典的线段树处理新定义权值最值的问题。

考虑一个$i$位置权值为$B$,它的左右权值分别是$A,C$,那么现在如果把它变成数$X$,为答案贡献就是$(|X-A|+|X-C|)-(|B-A|+|B-C|)$.

【线段树 经典技巧】10.7序列绝对值

标签:位置   block   sum   区间   线段树   现在   span   它的   定义   

原文地址:https://www.cnblogs.com/antiquality/p/11630722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!