HDU 1166 敵兵布陣 線段樹模板題

2021-09-25 16:11:29 字數 1231 閱讀 1676

題目:

**:

/**

線段樹模板題

預備小知識:

1.a<>n;//相當於a/2^n,a>>2==a/2

**/#include

#include

#include

#define n 50005

int num[n]

;struct node

nodes[n*4]

;void

build

(int left,

int right,

int root)

int mid=

(left+right)/2

;//開始二分

build

(left,mid,root<<1)

;//建左子樹

build

(mid+

1,right,root<<1|

1);//建左子樹

nodes[root]

.data=nodes[root<<1]

.data+nodes[root<<1|

1].data;

//更新當前節點的值

}int

find

(int left,

int right,

int root)

void

update

(int pos,

int value,

int root)

int mid=

(nodes[root]

.left+nodes[root]

.right)/2

;//開始二分

if(pos<=mid)

//在左子樹

update

(pos,value,root<<1)

;else

//在右子樹

update

(pos,value,root<<1|

1); nodes[root]

.data=nodes[root<<1]

.data+nodes[root<<1|

1].data;

//更新當前節點的值

}int

main()

elseif(

strcmp

(str,

"sub")==

0)}}

return0;

}

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...