注意: 根據線段樹的特點 可以用陣列模擬 所以比較方便 ,對應1~n編號 ,i 的左孩子為i*2 ,右孩子 2*i+1
其他的,沒啥難的 ,遞迴萬歲
#includeusing
namespace
std;
#define f(i,l,r) for(int i=l;i<=r;++i)
#define g(i,l,r) for(int i=l;i>=r;--i)
const
intn
=100010
;inta[
n],sum[
n<<2];
void
pushup
(intrt)
void
build
(intrt,
intl
,intr)
intm=(
l+r)
>>1;
build(rt
<<1,
l,m);
build(rt
<<1|
1,m+
1,r);
pushup(rt
);}void
update
(intrt,
intl
,intr,
intpos
,intc)
intm=(
l+r)
>>1;
if(pos<=m)
update(rt
<<1,
l,m,
pos,c);
else
update(rt
<<1|
1,m+
1,r,
pos,c);
pushup(rt
);}intquery
(intrt,
intl
,intr,
inta
,intb)
intmain()}
return0;
}
未來的我一定會感謝正在努力的現在的我!
勢能線段樹 吉司機線段樹 我沒有腦子
bzoj3211 花神遊歷各國 bzoj5312 冒險 bzoj4355 play with sequence bzoj4695 最假女選手 a i max a i,x 這種操作的 tag 不需要實際記錄下來,son.mn1 min max son.mn1,dad.mn1 dad.mx1 就行了。修...
我的線段樹掃瞄線問題模板
在求周長之前最好線看一下求面積,這樣再求周長回好理解很多。題目是poj 1177 poj 1151也是這類問題,不過是求面積的,更簡單一些。include include include include include include include include include define c...
我的線段樹掃瞄線問題模板
在求周長之前最好線看一下求面積,這樣再求周長回好理解很多。題目是poj 1177 poj 1151也是這類問題,不過是求面積的,更簡單一些。include include include include include include include include include define c...