TYVJ 1427 小白逛公園

2021-07-14 16:13:08 字數 1838 閱讀 7212

描述

小新經常陪小白去公園玩,也就是所謂的遛狗啦…在小新家附近有一條「公園路」,路的一邊從南到北依次排著n個公園,小白早就看花了眼,自己也不清楚該去哪些公園玩了。

一開始,小白就根據公園的風景給每個公園打了分-.-。小新為了省事,每次遛狗的時候都會事先規定乙個範圍,小白只可以選擇第a個和第b個公園之間(包括a、b兩個公園)選擇連續的一些公園玩。小白當然希望選出的公園的分數總和盡量高咯。同時,由於一些公園的景觀會有所改變,所以,小白的打分也可能會有一些變化。

那麼,就請你來幫小白選擇公園吧。

【題目分析】

同spoj gss1。再加入修改操作就可以了。但是資料太坑,有可能兩個座標大小不按照順序,如果不交換,就會掛。

【**】

#include 

#include

#include

#include

#include

using namespace std;

#define f(i,j,k) for (int i=j;i<=k;++i)

using namespace std;

struct nodet[4001000];

int data[500010];

int n,q;

void build(int l,int r,int num)

build(l,(l+r)/2,num*2);

build((l+r)/2+1,r,num*2+1);

t[num].sum=t[num*2].sum+t[num*2+1].sum;

t[num].lans=max(t[num*2].lans,t[num*2].sum+t[num*2+1].lans);

t[num].rans=max(t[num*2+1].rans,t[num*2+1].sum+t[num*2].rans);

t[num].max=max(t[num*2].rans+t[num*2+1].lans,max(t[num*2].max,t[num*2+1].max));

}node find(int l,int r,int num)

else

if (mid>=r)

nowl=find(l,r,num*2);

nowr=find(l,r,num*2+1);

now.sum=nowl.sum+nowr.sum;

now.lans=max(nowl.lans,nowl.sum+nowr.lans);

now.rans=max(nowr.rans,nowr.sum+nowl.rans);

now.max=max(nowl.rans+nowr.lans,max(nowl.max,nowr.max));

return now;

}inline void cha(int num,int k,int to)

if (!(t[num].l<=k&&t[num].r>=k)) return;

cha(num*2,k,to),cha(num*2+1,k,to);

t[num].sum=t[num*2].sum+t[num*2+1].sum;

t[num].lans=max(t[num*2].lans,t[num*2].sum+t[num*2+1].lans);

t[num].rans=max(t[num*2+1].rans,t[num*2+1].sum+t[num*2].rans);

t[num].max=max(t[num*2].rans+t[num*2+1].lans,max(t[num*2].max,t[num*2+1].max));

}int main()

}

TYVJ 1427 小白逛公園 線段樹

自從上一次線段樹寫掛了以後,心裡一直不爽!線段樹都能寫掛。於是我又找了一些題。因為臨近noip了,就找了點簡單題,難的沒寫出來,除錯要花好久。我一旦做的題目錯了,就會一直找錯,直到3 4天都沒發現才會放棄,浪費好多時間,於是不敢找難的 這個題目是動態求區間最大連續和,算是一道基本線段樹吧 只要記錄從...

Tyvj P1427 小白逛公園

描述 小新經常陪小白去公園玩,也就是所謂的遛狗啦 在小新家附近有一條 公園路 路的一邊從南到北依次排著n個公園,小白早就看花了眼,自己也不清楚該去哪些公園玩了。一開始,小白就根據公園的風景給每個公園打了分 小新為了省事,每次遛狗的時候都會事先規定乙個範圍,小白只可以選擇第a個和第b個公園之間 包括a...

小白逛公園

描述 小新經常陪小白去公園玩,也就是所謂的遛狗啦 在小新家附近有一條 公園路 路的一邊從南到北依次排著n個公園,小白早就看花了眼,自己也不清楚該去哪些公園玩了。一開始,小白就根據公園的風景給每個公園打了分 小新為了省事,每次遛狗的時候都會事先規定乙個範圍,小白只可以選擇第a個和第b個公園之間 包括a...