poj 3468 樹狀陣列 區間修改 區間求和

2022-05-25 07:36:09 字數 738 閱讀 6460

這是利用樹狀陣列進行 區間求和區間修改,寫起來比線段樹輕鬆許多,具體的原理參考大佬部落格:

**如下

1/*2

poj 3468 樹狀陣列 區間修改 和 區間查詢

3原理:

4c1 和 c2 是兩個差分陣列,所以輸入資料時 c1[i]=a[i]-a[i-1],56

*/7 #include 8 #include 9 #include

10using

namespace

std;

11#define max 100020

1213 __int64 c1[max],c2[max];//

兩個差分樹狀陣列,這題資料太大所以__int64

14__int64 n,q;

15 __int64 lowbit(int x)

1617 __int64 sum(__int64* r,__int64 x) //

求和 18

24void add(__int64 *r,__int64 x,__int64 val)//

單點更新

2529

30int

main ()

3144

char ch = 0;45

for (int i=0;ii)

4654

else

5561}62

return0;

63 }

view code

poj3468線段樹區間修改

題目哈。最近在隊裡的寒假作業中第一次遇到了線段樹的題,之前也聽思雨姐姐說過也看過她寫過,但自己始終沒個影響,然後自己做了幾天也算剛入這個門,會寫一些比較基礎的線段樹了,之所以把這道題寫下來是因為線段樹的精華還是在於區間修改,也是最實用的部分。線段樹的區間修改,最巧妙的部分是建立乙個lazy樹,與各個...

POJ 3468(樹狀陣列的威力)

之前說過這是線段樹的裸題,但是當看了 這篇題解後我簡直震驚了,竟然能如此巧妙地轉化為用樹狀陣列來處理,附上部分截圖 最好還是進入原 細細品味 依照他的思路附上我的 1 include2 include3 define lowbit x x x 4 typedef long long ll 5 con...

poj3468 樹狀陣列 一維 區間更新 區間查詢

其實這題應該是線段樹區間更新的模板題,我現在用樹狀陣列的方法做 理解樹狀陣列一維的區間更新和區間查詢需要一些基礎 知道的直接繼續往下看 樹狀陣列 一維 單點更新 區間查詢 最基礎 樹狀陣列 一維 區間更新 單點查詢 其實樹狀陣列本質就是單點更新 區間查詢,其它用法都是通過轉化成本質用法實現 一維的區...