新高一暑假第一期集訓恢復性訓練【資料結構-雜題小練】(並查集)(補)

Leirt_Abu發表於2024-10-22

新高一暑假第一期集訓恢復性訓練【資料結構-雜題小練】(並查集)(補)


A. [JOISC2014 Day2] 交朋友

首先,我們把從 \(x\) 連出去兩條邊的都合併,然後再去合併從 \(x\) 連出去一條原有邊與一條新邊的情況。

第一種情況直接列舉就行,第二種情況來一個多源 bfs 即可。


B. [HDU1272] 小希的迷宮

只需判斷是否存在多個樹和是否存在環。


C. [ABC131F] Must Be Rectangular!

簡單手玩樣例畫圖分析可以發現,題目是想讓我們用並查集合並橫座標或者縱座標相同的點,同時維護矩形框的長度和寬度,還有集合內點的個數。

用整個矩形的點數減掉已有的點數就是答案。

然而實際寫的過程中發現長度和寬度並不是很好直接維護,長度實際上是集合內不同x的數量,寬度實際上是集合內不同y的數量,沒想到什麼很無腦的合併方法。

最後對每個並查集開了 \(x\)\(y\) 兩個 set,按照 set 的大小進行啟發式合併。


相關文章