差分及树上差分学习笔记

大佬博客连接:https://www.cnblogs.com/ice-wing/p/7709311.htmlhtml

 

差分:数组

因而先来讲一下差分吧,假设如今给你一个序列,要对区间进行修改,只有区间加和区间减,而后求一次总体的最大值spa

好事,咱们只须要用线段树就行了,可是若是数据范围比较大,那么线段树就死了,这时咱们能够考虑这样一种操做htm

好比说这样一个序列blog

1 2 2 4 5 6 5 7 8博客

假设咱们要修改区间[4, 7],将区间内全部数都加1,那么咱们能够再开一个数组用来标记数据

在4的位置标记+1,在8的位置标记-1co

0 0 0 1 0 0 0 1 ps

这时咱们就能够发现对这个标记数组求一个前缀和

0 0 0 1 1 1 1 0

哦好事,咱们发现咱们就已经知道在某一段区间要加上几,这样咱们就一个O(n)扫一遍,取个最大值

这题就结束了。

题?回头再说 

相关文章
相关标签/搜索