線段樹 敵兵布陣 例項入門理解

2021-08-21 20:42:04 字數 851 閱讀 3369

更新節點,區間求和

#include#include using namespace std;

int sum;

int ac[50010];

struct nodet[140000];

/*建樹思路:a、對於二分到的每乙個結點,給它的左右端點確定範圍。

b、如果是葉子節點,儲存要維護的資訊。

c、狀態合併。*/

void build(int k,int l,int r)

else

}//區間查詢,即查詢一段區間的狀態,在引例中為查詢區間[x,y]的和

/*與二分查詢法基本一致,如果當前列舉的點左右端點相等,即葉子節點,就是目標節點。如果不是,因為這是二分法,所以設查詢位置為x,當前結點區間範圍為了l,r,中點為 mid,則如果x<=mid,則遞迴它的左孩子,否則遞迴它的右孩子*/

void query(int x,int y,int k)

else

}}//單點修改,即更改某乙個點的狀態。用引例中的例子,對第x個數加上y

void add(int x,int y,int k)

//單點修改,引例 對第x個數減去y

void sub(int x,int y,int k)

int main()

build(1,1,n);

printf("case %d:\n",++yy);

while(1)

if(ss[0]=='a')

if(ss[0]=='s')}}

return 0;

}

簡單理解:有關二進位制)

線段樹 敵兵布陣

a 敵兵布陣 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1166 description c國的死對頭a國這段時間正在進行軍事演習,所以c國間諜頭子derek和他...

線段樹 敵兵布陣

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

資料結構 線段樹 敵兵布陣

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