bzoj2843 極地旅行社

2022-05-02 05:12:06 字數 2549 閱讀 4226

不久之前,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"。

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

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

第三行乙個正整數m,表示命令的數量。接下來m行即命令,為題目描述所示。

1<=n<=30000,1<=m<=100000

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

54 2 4 5 6

10excursion 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

4impossible

yes6

yesyes

15yes

1516

正解:$link-cut \ tree$。

這題是$lct$板子題,省選前複習一發板子。。

注意$access$的時候一定要$pushup$!!!

1

//it is made by wfj_2048~

2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include

14#define inf (1<<30)

15#define n (100010)

16#define il inline

17#define rg register

18#define ll long long

19#define file(s) freopen(s".in","r",stdin),freopen(s".out","w",stdout)

2021

using

namespace

std;

2223

int sum[n],val[n],rev[n],st[n],fa[n],ch[n][2

],n,m;

24char s[12

];25

26 il int

gi()

3334 il int isroot(rg int

x)37

38 il void pushup(rg int

x)41

42 il void pushdown(rg int

x)46

47 il void rotate(rg int

x)53

54 il void splay(rg int

x)64

rotate(x);65}

66return;67

}6869 il void access(rg int

x)75

return;76

}7778 il void makeroot(rg int

x)81

82 il void link(rg int x,rg int

y)85

86 il void cut(rg int x,rg int

y)90

91 il int find(rg int

x)96

97 il int query(rg int x,rg int

y)101

102 il void

work()

113if (s[0]=='

p') val[x]=y,splay(x);

114if (s[0]=='e'

)118

}119

return

;120

}121

122int

main()

BZOJ2843 極地旅行社

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

bzoj2843 極地旅行社

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

bzoj2843 極地旅行社

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