樹狀陣列 hdu 2155 Matrix

2021-06-08 11:09:10 字數 481 閱讀 4194

/**

[樹狀陣列]hdu 2155 matrix

二維樹狀陣列,更新區間,查詢點

詳解見09年國家集訓隊**

*/#include #include #define n 1001

#define lowbit(i) (i) & (-i)

int mat[n][n],n;

void update(int x,int y)

int sum(int x,int y)

int main()

scanf("%d%d",&x2,&y2);

++x2;

++y2;

update(x1,y1);

update(x2,y1);

update(x1,y2);

update(x2,y2);

}printf("\n");

}return 0;

}

樹狀陣列POJ2155

poj 2155是一道很不錯的題目,表面上看,這題的要求似乎和樹狀陣列的使用方法恰好相反,改變的是乙個區間,查詢的反而是乙個點。實際上可以通過乙個轉化巧妙的解決。首先對於每個數a定義集合up a 表示 定義集合down a 表示。可以發現對於任何a於是對於這道題目來說,翻轉乙個區間 a,b 為了便於...

poj2155 Matrix 樹狀陣列套樹狀陣列

給定一些二維陣列中的操作形如c x1 y1 x2 y2表示把 x1,y1 到 x2,y2 中的數字0變成1,1變成0,q x y表示查詢 x,y sb題,直接二維樹狀陣列套樹狀陣列。至於0還是1的問題可以看成操作了x次就是x 2,按照類似矩陣字首和的方法更新 include include defi...

poj 2155 Matrix(樹狀陣列)

題目大意 提供乙個 m n的矩陣,其中每乙個格仔中的數不是 1 就是 0,初始時每乙個格仔的值為 0 我們可以修改這個矩陣中的數字,每次給出矩陣的左上角座標 x 1 y 1 以及右下角的座標 x 2 y 2 並且將矩陣中的數字全部取反 原來是 1 現在變成 0 原來是0 現在變成 1 還可以每次查詢...