Graph Destruction 并查集,图论(500)
生活随笔
收集整理的這篇文章主要介紹了
Graph Destruction 并查集,图论(500)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意 :
- 給一n個(gè)點(diǎn)m條邊的無向圖,問逐漸刪去1-n點(diǎn)及它們的邊,分別輸出當(dāng)前剩下多少個(gè)連通區(qū)域
思路 :
- 求連通塊,想到了并查集,但并查集是增邊,這里是減邊,只要倒序考慮問題即可,那么問題轉(zhuǎn)換為 :
- 逐漸增加n-1點(diǎn),同時(shí)增加當(dāng)前i點(diǎn)與j點(diǎn)(j>i)(j>i)(j>i)的邊,問添加i點(diǎn)后的連通塊數(shù)量
- 暴力會(huì)tle,考慮優(yōu)化方案,輸入邊時(shí),只存小的往大的邊
- 對于每個(gè)逐漸加入的點(diǎn)i,連通塊個(gè)數(shù)先加一;每增加一條邊,如果另一個(gè)端點(diǎn)不在同一個(gè)并查集內(nèi),則連通塊數(shù)量減一
- 全局變量ans記錄當(dāng)前連通塊數(shù)量,就不用每次算一遍了
- 注意最開始還有一個(gè)0的狀態(tài),以及最后是加到2為止,而不是1(看圖)
- 有一個(gè)易錯(cuò)點(diǎn)!!并查集的時(shí)候不要輕易u(yù)=find(u),因?yàn)樵谘h(huán)里,會(huì)改變循環(huán)變量,死循環(huán)
總結(jié)
以上是生活随笔為你收集整理的Graph Destruction 并查集,图论(500)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Longest X 贪心,滑动窗口,前缀
- 下一篇: Longest Y 字符串,货仓选址模型