題目鏈結給定乙個區間,在區間上有三個操作。
add:第i個座標加上j
sub:第i個座標減去j
query:查詢i到j區間的和
資料範圍過大,暴力肯定撞牆,線段樹問題,單點更新求區間和,線段樹的入門模板題。
#include
#include
#include
#include
#define lc left, mid, root << 1
#define rc mid + 1, right, root << 1 | 1
using
namespace
std;
const
int maxn = 5e4 + 10;
int sum[maxn << 2];
void push_up(int root)
void build(int left, int right, int root)
int mid = (left + right) >> 1;
build(lc);
build(rc);
push_up(root);
}void update(int left, int right, int root, int a, int b)
int mid = (left + right) >> 1;
if(a <= mid) update(lc, a, b);
else update(rc, a, b);
push_up(root);
}int query(int left, int right, int root, int a, int b)
int mid = (left + right) >> 1;
int ans = 0;
if(b <= mid) ans += query(lc, a, b);
else
if(a > mid) ans += query(rc, a, b);
else
return ans;
}int main()
else
if(!strcmp(c, "sub"))
else}}
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...