差分數列應用

2022-07-09 02:30:22 字數 518 閱讀 6842

題目描述

輸入乙個長度為 n 的整數序列。

接下來輸入 m 個操作,每個操作包含三個整數 l,  r,  c,表示將序列中 [l, r] 之間(包括l和r)的每個數加上 c。

請你輸出進行完所有操作後的序列。

輸入第一行包含兩個整數 n 和 m。

第二行包含 n 個整數,表示整數序列。

接下來 m 行,每行包含三個整數 l,r,c,表示乙個操作。

輸出共一行,包含 n 個整數,表示最終序列。

樣例輸入 copy

6 3

1 2 2 1 2 1

1 3 1

3 5 1

1 6 1

樣例輸出 copy

3 4 5 3 4 2

提示【資料範圍】

1 ≤ n, m ≤ 100000,

1 ≤ l ≤ r ≤n,

−1000 ≤ c ≤ 1000,

−1000 ≤ 整數序列中元素的值 ≤ 1000。

差分 差分陣列 樹狀差分

原陣列 ai94 759差分陣列 bi9 5 3 24差分陣列的字首和94 759顯然通過求字首和可以做到單點查詢 他高效的地方在於區間修改,比如我們對區間 2,4 每個元素加上5,我們只需在差分陣列 b2 5,b5 5,然後求字首和即可 原陣列 ai94 759差分陣列 bi 903 2 1 差分...

差分陣列概述

在網上講差分陣列的博文很少,也很難找到。一度以為差分陣列是傳播於小眾的神犇技巧所以一直放著沒有去研習。今天做了 bzoj1635後發現各路神犇都用差分陣列,本蒟卻傻傻寫了線段樹。對於序列a 取a i a i 1 為其差分陣列b i 的值,可以發現,a i bj 1 j i 如 對於序列 a b c ...

港口 差分陣列)

傳送門 思路 因為是區間加減,所以考慮差分陣列,題意變為 要求差分陣列d 2 d 3 d n d 2 d 3 dots d n d 2 d 3 d n 全為0.每次區間加或減會使差分陣列乙個加1,乙個減1,因為要用最小次數,所以每次操作最好產生有效貢獻,可知當為正數或負數的差分陣列變為0後,剩下我們...