Codeforces698B【并查集+拆环】
好題,好題,第一次寫(xiě)這個(gè)神秘的拆環(huán)。。
題意:
給你n個(gè)數(shù),第i個(gè)數(shù)代表點(diǎn)i連向點(diǎn)a[i],
將這副圖變成樹(shù),求最小改變邊的數(shù)量;
思路:
已知有向樹(shù)的定義,
除了根節(jié)點(diǎn)外每個(gè)節(jié)點(diǎn)都有且僅有一條邊都指向它的父親節(jié)點(diǎn),
而根節(jié)點(diǎn)有且僅有一條邊指向自己。
給出的圖類(lèi)型,
1.環(huán);
2.獨(dú)立的點(diǎn);
3.鏈;
如果是獨(dú)立的話,就是選定一個(gè)根節(jié)點(diǎn)然后,讓其他根節(jié)點(diǎn)指向它;
如果存在環(huán)的話,那么就是拆掉,選一個(gè)根結(jié)點(diǎn)。
//存在自己指向自己,也就是根,如果存在自己指向自己就可以讓樹(shù)的根設(shè)為其中一個(gè)。
//拆環(huán)具體操作,找鏈,標(biāo)記,最后判斷break出來(lái)的節(jié)點(diǎn)是否也是cnt
轉(zhuǎn)載于:https://www.cnblogs.com/keyboarder-zsq/p/5934757.html
總結(jié)
以上是生活随笔為你收集整理的Codeforces698B【并查集+拆环】的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 重温数据结构:树 及 Java 实现(转
- 下一篇: easyui numberbox一些常用