hdu1166線段樹的點跟新模板

2021-07-28 07:04:21 字數 815 閱讀 6102

#include #include #include #include #define lson l, m, rt<<1//左子樹的rt即當前節點在這個樹中的位置(編號)為每次乘2

#define rson m+1, r, rt<<1|1//右子樹樹的當前節點的編號為乘2加1

using namespace std;

const int maxn = 55555;

int sum[maxn<<2];

void pushup(int rt)

void build(int l, int r, int rt)//左右區間,以及當前所正在建造的節點

int m;

m = (l+r)>>1;

build(lson);//(define 的作用)遞迴建樹

build(rson);

pushup(rt);//這裡為從下向上的每個父親節點的值,如若更新葉子節點則必通過這裡向上更新父親節點的值

}void update(int p, int add, int l, int r, int rt)

int m = (l+r)>>1;

if(p <= m) update(p, add, lson);

else update(p, add, rson);

pushup(rt);

}int query(int newl, int newr, int l, int r, int rt)

int main()

}return 0;

}/*順便再次膜拜一下hh神不然不會有這麼簡潔的**,理解很清楚*/

初步線段樹 hdu1166

include include includeusing namespace std define max 50000 struct node node maintree 4 max void settree int n,int l,int r int main printf case d n tt...

hdu 1166 線段樹 初步

subject interval tree author a clay created date 2012 02 03 sample hdoj 1166 敵兵布陣 很基礎,很赤裸,但也很經典 include include include include include define bug cou...

敵兵布陣 HDU 1166(線段樹點更新)

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