HDU1166 敵兵布陣 線段樹

2021-07-23 17:40:51 字數 839 閱讀 6010

題意:

中文題要點:

就是乙個單點更新的線段樹問題,之前一直用線狀陣列,現在學了一下線段樹,這兩個能處理的問題都差不多,線段樹好理解一些,基本就是儲存將乙個區間不斷二分,形成乙個樹,方便查詢和更新。

#include#include#includeusing namespace std;

const int n = 50000 + 5;

int sum[n << 2];

int pushup(int node)

void build(int node, int l, int r)

int m = (l + r) / 2;

build(2 * node, l, m);

build(2 * node + 1, m + 1, r);

pushup(node);

}void update(int p, int val, int l, int r,int node)

int m = (l + r)/2;

if (p <= m)

update(p, val, l, m, 2 * node);

else

update(p, val, m + 1, r, 2 * node + 1);

pushup(node);//回溯更新

}int query(int ll, int rr, int l, int r, int node)

int main()

else if (order[0] == 's')

else if (order[0] == 'q')

}} return 0;

}

HDU 1166 敵兵布陣 線段樹

第一道線段樹的題目,正在學習中 include include include using namespace std define max 55555 int sum max 2 n void pushup int rt void build int l,int r,int rt int mid ...

hdu1166敵兵布陣 線段樹

problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...

A 敵兵布陣 線段樹 hdu 1166

a 敵兵布陣 time limit 1000ms memory limit 32768kb 64bit io format i64d i64u submit status practice hdu 1166 description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek...