在二維平面內給定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:
80 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 的複雜度下進行範圍修改,但是這時只能查詢其中乙個元素的值。一,改點...