bzoj2843 極地旅行社

2021-08-03 08:29:33 字數 2457 閱讀 2722

description

不久之前,mirko建立了乙個旅行社,名叫「極地之夢」。這家旅行社在北極附近購買了n座冰島,並且提供觀光服務。當地最受歡迎的當然是帝企鵝了,這些小傢伙經常成群結隊的遊走在各個冰島之間。

mirko的旅行社遭受一次重大打擊,以至於觀光遊輪已經不划算了。旅行社將在冰島之間建造大橋,並用觀光巴士來運載遊客。mirko希望開發乙個電腦程式來管理這些大橋的建造過程,以免有不可預料的錯誤發生。

這些冰島從1到n標號。一開始時這些島嶼沒有大橋連線,並且所有島上的帝企鵝數量都是知道的。每座島上的企鵝數量雖然會有所改變,但是始終在[0, 1000]之間。

你的程式需要處理以下三種命令:

1.」bridge a b」——在a與b之間建立一座大橋(a與b是不同的島嶼)。由於經費限制,這項命令被接受,當且僅當a與b不聯通。若這項命令被接受,你的程式需要輸出」yes」,之後會建造這座大橋。否則,你的程式需要輸出」no」。

2.」penguins a x」——根據可靠訊息,島嶼a此時的帝企鵝數量變為x。這項命令只是用來提供資訊的,你的程式不需要回應。

3.」excursion a b」——乙個旅行團希望從a出發到b。若a與b連通,你的程式需要輸出這個旅行團一路上所能看到的帝企鵝數量(包括起點a與終點b),若不聯通,你的程式需要輸出」impossible」。

input

第一行乙個正整數n,表示冰島的數量。

第二行n個範圍[0, 1000]的整數,為每座島嶼初始的帝企鵝數量。

第三行乙個正整數m,表示命令的數量。

接下來m行即命令,為題目描述所示。

output

對於每個bridge命令與excursion命令,輸出一行,為題目描述所示。

sample input

5 4 2 4 5 6

10 excursion 1 1

excursion 1 2

bridge 1 2

excursion 1 2

bridge 3 4

bridge 3 5

excursion 4 5

bridge 1 3

excursion 2 4

excursion 2 5

sample output

4 impossible

yes

6 yes

yes

15 yes

15 16

hint

1<=n<=30000

1<=m<=100000

分析:

lct裸題

主體的操作已經會了

但是在解決具體問題的時候,操作就不明確了

簡單總結一下

find(x)==find(y); //查詢x,y是否聯通

makeroot(n);

expose(x);

splay(x);

return size[ch[x][0]]; //查詢乙個點到根的距離

makeroot(x);

v[x]=y;

update(x); //優越的改變乙個節點的值

makeroot(x);

expose(y);

spaly(y);

return sum[y]; //查詢(x->y)路徑上的值

//makeroot把x變成了樹上目前的根

//在expose的時候,y會失去他的右兒子(深度比他大的節點)

//所以sum[y]記錄的就是y到根上(x)的所有節點的值

這裡寫**片

#include

#include

#include

#include

using namespace std;

const int n=35000;

int sum[n],lazy[n],ch[n][2],pre[n],q[n],v[n];

bool rev[n];

int n,m,a[n];

int get(int bh)

int isroot(int bh)

void push(int bh)

}void update(int bh)

return;

}void rotate(int bh)

void splay(int bh)

void expose(int bh)

} void makeroot(int bh)

void link(int

x,int

y)void cut(int

x,int

y)int find(int

x)int main()

}else

if (opt[0]=='p')

else

}scanf("%c",&opt[0]);

}return

0;}

BZOJ2843 極地旅行社

題意 連邊,詢問權值和,單點修改權值 裸的不能再裸的lct模板題。話說我就貼了個剛寫完的板,改了下輸入,輸出,資料範圍都沒看,居然就a了。一點坑點都沒有,要不要這樣啊。include include include define n 200005 using namespace std int n,...

bzoj2843 極地旅行社

description 不久之前,mirko建立了乙個旅行社,名叫 極地之夢 這家旅行社在北極附近購買了n座冰島,並且提供觀光服 務。當地最受歡迎的當然是帝企鵝了,這些小傢伙經常成群結隊的遊走在各個冰島之間。mirko的旅行社遭受一次 重大打擊,以至於觀光遊輪已經不划算了。旅行社將在冰島之間建造大橋...

bzoj2843 極地旅行社

description 不久之前,mirko建立了乙個旅行社,名叫 極地之夢 這家旅行社在北極附近購買了n座冰島,並且提供觀光服 務。當地最受歡迎的當然是帝企鵝了,這些小傢伙經常成群結隊的遊走在各個冰島之間。mirko的旅行社遭受一次 重大打擊,以至於觀光遊輪已經不划算了。旅行社將在冰島之間建造大橋...