線段樹HDU 1166(單點增減 區間求和)

2021-07-03 18:45:33 字數 842 閱讀 3145

應用:區間最值查詢問題、區間求和

連續區間的修改或單點更新

例題:hdu——1166敵兵布陣

//線段樹功能:add:單點增減 sum:區間求和

#include#include#include#include#include#include#includeusing namespace std;

#define maxn 2010

#define inf 99999999

#define max 50000

struct stup[3*max];

int n;

void build(int i,int a,int b)//構造以【a,b】為根的線段樹

}int sum(int i,int a,int b)//第a個營地到第b個營地的總人數

void add(int i,int a,int val)//將第a個營地的人數+val

else

}int main()

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

while (scanf("%s",ch) && strcmp(ch,"end")!=0)

}return 0;

}

線段樹單點更新hdu1166

學習自 先序建子樹,然後回溯建立父節點 更新時先遞迴更新子節點,然後再回溯更新父節點 回溯思想很重要 include using namespace std const int maxn 50005 int sum maxn 2 void build int l,int r,int rt void ...

HDU 1166 線段樹單點更新

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

HDU1166 線段樹區間求和,單點更新

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