這個題是用中文來描寫的,很簡單,沒什麼彎。
這個題肯定就是用線段樹來做了,不過當時想了一下可不可用差分來做,因為不熟練就還是用了線段樹來做,幾乎就是模板題了。
#include#include#include#include#include# define ls (rt<<1)
# define rs (rt<<1|1)
using namespace std;
const int maxn=5e4+7;
struct nodet[maxn<<2];
int num[maxn];
int n, m;
void up(int rt)
void build(int rt, int l, int r)
int mid=(l+r)>>1;
build(ls, l, mid);
build(rs, mid+1, r);
up(rt);
}void down(int rt)
}void update(int rt, int x, int v)
down(rt);
int mid=(t[rt].l+t[rt].r)>>1;
if(x<=mid) update(ls, x, v);
else update(rs, x, v);
up(rt);
}int query(int rt, int l, int r)
down(rt);
int ans=0;
int mid=(t[rt].l+t[rt].r)>>1;
if(l<=mid) ans+=query(ls, l, r);
if(r>mid) ans+=query(rs, l, r);
return ans;
}int main()
build(1, 1, n);
string op;
int x, y;
printf("case %d:\n", ca);
while(cin >> op && op!="end")
else if(op=="add")
else update(1, x, -y);
} }return 0;
}
線段樹 hdu1166 敵兵布陣
problem description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的...
敵兵布陣 HDU 1166 線段樹
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...
敵兵布陣 HDU 1166(線段樹)
c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他手下tidy又開始忙乎了。a國在海岸線沿直線布置了n個工兵營地,derek和tidy的任務就是要監視這些工兵營地的活動情況。由於採取了某種先進的監測手段,所以每個工兵營地的人數c國都掌握的一清二楚,每個工兵營地的人數都有可能發生...