b412. 【記憶中】之記憶中的并查集
標籤 : 可持久化 并查集
通過比率 : 39人/42人 ( 93% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-07-09 23:46

內容

liouzhou_101喜歡回憶往事,在他的記憶中,并查集陪伴著他度過了美好的時光。

第0天,liouzhou_101學習了并查集,並且他生成了一個有n個節點的圖來練習并查集,一開始這些點之間沒有邊相連。每天他都會對這n個點進行且僅進行一次操作。假設當前的操作是第d(d>=1)天的操作。

操作有以下3種:

0 k 將整個圖變回第k天的圖 0<=k<d

1 x y 將第x個點和第y個點之間連一條邊 1<=x,y<=n

2 x y 詢問第x個點和第y個點之間是否連通

陳年往事已記憶依稀,現在他希望你還原一下當時的情景。 

輸入說明

第一行是兩個正整數n和m,分別表示節點數和操作數。

接下來m行,第d行表示第d天的操作信息。第一個數字t表示操作類型(0~2),然後對不同的操作,格式參見題目內容。為了模擬實際情況,在第d天,你並不可能知道第d+1天的操作,所以輸入數據中對操作信息進行了加密,就是輸入中的所有數,並不是真正的信息,如果你輸入了一個數字K,事實上你要把K理解成K xor ans,其中xor是異或操作,ans是最近一次詢問的答案,如果到現在為止沒有被詢問過,則我們不把信息加密,即ans=0。 

輸出說明
對於每個第2種操作,對應地輸出答案。如果兩個點連通則ans=1,否則ans=0。
範例輸入 #1
2 5
2 1 2
1 1 2
2 1 2
1 1
3 0 3
範例輸出 #1
0
1
0
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (10%): 2.0s , <1M
公開 測資點#1 (10%): 2.0s , <1M
公開 測資點#2 (10%): 2.0s , <1M
公開 測資點#3 (10%): 2.0s , <1M
公開 測資點#4 (10%): 2.0s , <1M
公開 測資點#5 (10%): 2.0s , <10M
公開 測資點#6 (10%): 2.0s , <10M
公開 測資點#7 (10%): 2.0s , <10M
公開 測資點#8 (10%): 2.0s , <10M
公開 測資點#9 (10%): 2.0s , <10M
提示 :

輸入範例解密后應該是:

2 5
2 1 2
1 1 2
2 1 2
0 0
2 1 2

存在20%的測資,t≠0。 

存在50%的測資,n<=50000,m<=50000。

對於100%的測資,n<=100000,m<=100000。 

這是【記憶中】系列的第三題,上一題是【記憶中】之記憶中的序列2,未完待續。 

標籤:
可持久化 并查集
出處:
[管理者: liouzhou_101 (王启圣) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」