大佬博客連接: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)掃一遍,取個最大值
這題就結束了。
題?回頭再說