DSU(Disjoint Set Union)又稱為並查集,是一種資料結構,用於管理一些不相交集合。常見用途是在解決「動態連通性問題」,像是在圖論中檢查兩個點是否在同一連通塊中。DSU的主要操作是:
find
操作中壓縮節點到根的路徑,加快之後的查找速度。union
操作中按集合的大小(或高度)進行合併,以減少樹的高度。這兩種技術的搭配可以使DSU的時間複雜度接近常數,為O(α(n))O(\alpha(n))O(α(n)),其中α(n)\alpha(n)α(n)是反阿克曼函數,非常小且幾乎可以視為常數。
請善用dsu AC這題吧
如果你時間真的太多的話