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 5 2 1 2 1 1 2 2 1 2 1 1 3 0 3
0 1 0
輸入範例解密后應該是:
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,未完待續。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|