單點更新,增加和減少。區間求和。
看錯題目,寫成區間更新...wa了兩發,wa在add打懶標記,更新當前節點時,乘以的是懶標記,而不是要更新的那個數。
#include
#include
#include
using
namespace
std;
const
int maxn = 50000;
int tree[maxn<<2];
int add[maxn<<2];
char txt[100];
void pushup(int rt)
void pushdown(int rt, int len)
}void build(int rt, int l, int r)
else
}void add(int rt, int a, int b, int l, int r, int x)
else
}int query(int rt, int a, int b, int l, int r)
else
}int main()
else
if(txt[0]=='a')
else
if(txt[0]=='s')
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...