題解:這題非常經典啊似乎。。經典模型要記住啊。。
對於每個節點維護該區間裡的最大的連續區間,然後我們就可以logn遞迴找最前面的一段。
那就維護mx(無限制),lmx(必須從左邊開始),rmx(必須從右邊開始)。
**:
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8using
namespace
std;910
const
int n=50010;11
intn,m,tl;
12struct
trnodet[2*n];
1516
int minn(int x,int y)
17int maxx(int x,int y)
1819
int bt(int l,int
r)20
32return
x;33}34
35void pd(int
x)36
4546
void upd(int
x)47
5657
void change(int x,int l,int r,int
d)58
61int lc=t[x].lc,rc=t[x].rc,mid=(t[x].l+t[x].r)/2;62
if(r<=mid) change(lc,l,r,d);
63else
if(l>mid) change(rc,l,r,d);
64else
6569
upd(x);70}
7172
int query(int x,int
len)
7383
return0;
84}8586
intmain()
87105
else
106110
}111
return0;
112 }
bzoj1593 預定旅館 線段樹維護連續區間
題解 這題非常經典啊似乎。經典模型要記住啊。對於每個節點維護該區間裡的最大的連續區間,然後我們就可以logn遞迴找最前面的一段。那就維護mx 無限制 lmx 必須從左邊開始 rmx 必須從右邊開始 1 include2 include3 include4 include5 include6 incl...
刷題總結 旅館(bzoj1593線段樹)
奶牛們最近的旅遊計畫,是到蘇必利爾湖畔,享受那裡的湖光山色,以及明媚的陽光。作為整個旅遊的策劃者和負責人,貝茜選擇在湖邊的一家著名的旅館住宿。這個巨大的旅館一共有n 1 n 50,000 間客房,它們在同一層樓中順次一字排開,在任何乙個房間裡,只需要拉開窗簾,就能見到波光粼粼的湖面。貝茜一行,以及其...
BZOJ 4756 線段樹合併(線段樹)
思路 1.最裸的線段樹合併 2.我們可以觀察到子樹求乙個東西 那我們直接dfs序好了 入隊的時候統計一下有多少比他大的 出的時候統計一下 減一下 搞定 線段樹合併 by siriusren include include include using namespace std const int n...