杭電oj 1166 敵兵布陣(線段樹裸題)

2021-08-25 08:32:19 字數 860 閱讀 4151

題目鏈結

線段樹保留了二叉樹的結構特點,能夠在o(

log(

n)) o(l

og(n

))

的時間內查詢一些區間的資訊,比如區間和,區間最大最小值,而且還支援資料更改。

#include 

using

namespace

std;

const

int n = 2e6+100;

struct nodenode[n<<2];

int fa[n];

void buildtree(int i,int l,int r)

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

buildtree(i<<1,l,mid);

buildtree(i<<1|1,mid+1,r);

}inline

void updata(int x)

int ans;

inline

void query(int i,int l,int r)

i<<=1;

if(l <= node[i].r)

else

}i++;

if(r >= node[i].l)

else

}}int main(int argc, char

const *argv)

string op;

int a,b;

cout

<<"case "

<":\n";

while(cin>>op && op !="end")

else

if(op == "sub")

else

杭電 1166 敵兵布陣 (線段樹)

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

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國都掌握的...