T4701 卜卜 樹狀陣列模板

2022-05-09 18:09:23 字數 1454 閱讀 8731

在二維平面內給定n個點:

0 x y v表示給(x,y)的權值減去v

1 x y v表示給(x,y)的權值加上v

然後有m個操作

0 x y v , 1 x y v 意義如上

2 a b c d表示詢問左上角為(a,b) , 右下角為(c,d)的矩陣權值和

輸入格式:

第一行乙個數n

後n行 每行三個數 type x y 意義見上

然後乙個數m表示運算元

後m行 第乙個數為type

若type=2 則接四個數 a,b,c,d 意義見上

否則接三個數 x,y,v 意義見上

輸出格式:

對每乙個 2號操作輸出乙個答案

輸入樣例#1:

8

0 8 10 1

0 8 6 9

0 10 2 48

0 4 8 21

1 6 6 75

0 4 4 23

1 2 9 12

0 4 10 2

92 7 2 10 8

1 4 2 92

2 2 4 6 4

0 6 10 29

0 10 8 42

2 4 4 6 6

2 6 6 10 10

2 1 6 8 8

2 8 1 8 2

輸出樣例#1:

-57

-2352

-645

0

n,m<=100000 ; x,y<=1000

還是由於出題人不會造資料 保證資料全是隨機

二維樹狀陣列,,

比較有意思,

和一維的差不多,

就是多了層迴圈

1 #include2 #include3 #include4 #include5

//#define lowbit(x) (x)&(-x)

6using

namespace

std;

7const

int maxn=1010

;8 inline void read(int &n)914

inttree[maxn][maxn];

15int maxn=1000

;16 inline int lowbit(int x)

17 inline void add(int x,int y,int

val)

1823 inline int query(int x,int

y)24

31int

main()

3246

else

if(how==1)//

jia47

51else

//sum

5257

} 58}

59return0;

60 }

樹狀陣列模板

假設有一列數 1 i n 支援如下兩種操作 1.將ai的值加d。2.輸出ai ai 1 aj 1 i j n 樹狀陣列是一種特殊的資料結構,這種資料結構的時空複雜度和線段樹相似,但是它的係數要小得多 hdu 1166 敵兵布陣 題目 a國在海岸線沿直線布置了n個工兵營地。由於採取了某種先進的監測手段...

樹狀陣列模板

已知乙個數列,你需要進行下面兩種操作 1.將某區間每乙個數數加上x 2.求出某乙個數的和 這種水水的樹狀陣列,博主就不做介紹,直接上 希望大家可以多多捧場!include include include include include include include include include ...

樹狀陣列模板

樹狀陣列 binary indexed tree bit fenwick tree 是乙個查詢和修改複雜度都為log n 的資料結構。主要用於查詢任意兩位之間的所有元素之和,但是每次只能修改乙個元素的值 經過簡單修改可以在log n 的複雜度下進行範圍修改,但是這時只能查詢其中乙個元素的值。一,改點...