二維樹狀陣列 hdu1892

2022-08-31 21:03:16 字數 959 閱讀 1537

二維樹狀陣列--hdu1892

二維書架上原本有1本書

t組樣例,四種操作,search,add,del,move

書架上的書小於del的值時,取完該格仔的書即可

查詢操作用二維的容斥推

由於格仔取值可以等於0,故下標都+1

#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

const int inf = 0x3f3f3f3f;

const int n = 1e3 + 5;

const int mod = 1e9 + 9;

const double pi = 3.1415926;

#define lson l, m, rt << 1

#define rson m + 1, r, rt << 1 | 1

#define f(i, l, r) for(int i = l;i <= (r);++i)

#define rf(i, l, r) for(int i = l;i >= (r);--i)

int sum[n << 1][n << 1], p[n][n];

int lowbit(int x)

void change(int x, int y, int num)

int query(int x, int y)

int main()

int q;cin >> q;

while(q--)

else if(s == "s")

else if(s == "d")

else}}

return 0;

}

hdu1892二維樹狀陣列

樹狀陣列一般的操作只有 1.單點更新,區間查詢 2.區間更新,單點查詢 其中區間更新和單點更新不能同時寫在一起,會對樹狀陣列的結構早成影響。這題 wa的情況主要是沒有考慮到 x1,y1 可能大於 x2,y2 訓練 訓練題鏈結 include include include include inclu...

hdu 1892 樹狀陣列,二維

注意點 輸入時x1,x2,y1,y2的大小判斷,x,y從0開始,書拿光時的判斷 第一題二維,還是蠻神奇的。include include includeusing namespace std define m 1002 int tree m 1 m 1 int lowbit int x void u...

HDU 1892 二維樹狀陣列

題目大意 有很多方格,每個方格對應的座標為 i,j 剛開始時每個格仔裡有1本書,然後讓你統計一片區域有多少本書,還可以增加書和減少,移動書。解題思路 和一維樹狀陣列沒撒子區別。一維擴充套件到二維而已。需要注意的兩點是 1.x,y座標從0開始,所以儲存更新的時候座標分別加1進行更新。因為0座標會進入死...