題意:
中文題要點:
就是乙個單點更新的線段樹問題,之前一直用線狀陣列,現在學了一下線段樹,這兩個能處理的問題都差不多,線段樹好理解一些,基本就是儲存將乙個區間不斷二分,形成乙個樹,方便查詢和更新。
#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...