約二次元ツリーライン、taが死にました
のは、二次元のプレイでツリーラインの2種類を見てみましょう
1.クワッド
しかし死んTA、TAは$ \シータ(N)$、プラス定数のツリーライン、$ T $サシバエです
2.セグメントツリーカバーツリーライン
私は引き出すしようと...
各ボックスには、グラフセグメント木であります
未完の限り(あなたが作ると見、著者は、ハーフストロークを持っています)
図の拡大
今、各ドットは、本当のポイントを表し
そして、今日のトピックに説明し、例えば(表面タイトルを保持します)
私は間隔を変更するためにお話しましょう
$緑のドット割り当て$ 9想定(私はあなたが見つけることができると信じて、私たちは今、数字を与えて慎重に見て
一次元ツリーラインの練習の後、我々は6グリーンポイントを変更します
しかし、これは$ \シータ(NlogN)$である、それはT $を$ます
私たちは、この青い点で動作することができます
その後、我々はマップにのみ4緑の点を変更することができます
コード:
struct Tree
{
struct tree { int tag; }t[maxn<<2]; void down(int k) { int tmp=t[k].tag; t[l(k)].tag=max(t[l(k)].tag,tmp); t[r(k)].tag=max(t[r(k)].tag,tmp); } void change(int k,int l,int r,int L,int R,int v) { if(L<=l&&r<=R){t[k].tag=v;return;} down(k);int mid=(l+r)>>1; if(L<=mid) change(l(k),l,mid,L,R,v); if(mid<R) change(r(k),mid+1,r,L,R,v); }