无向图三元环计数
無(wú)向圖三元環(huán)計(jì)數(shù)
這個(gè)做法的思想還是很巧妙的,首先我們考慮枚舉,暴力的方法就是枚舉三個(gè)點(diǎn)O(n3)O(n^3)O(n3),枚舉一個(gè)點(diǎn)然后枚舉出邊,然后再枚舉出點(diǎn)的出邊,然后考慮這個(gè)做法的復(fù)雜度。對(duì)于每條邊分析,它會(huì)對(duì)復(fù)雜度的貢獻(xiàn)就是指向的點(diǎn)的度數(shù),所以總復(fù)雜度就是∑i=1mdegpi\sum_{i=1}^mdeg_{p_i}∑i=1m?degpi??,但是如果我們能夠把無(wú)向圖變?yōu)橛邢驁D就可以優(yōu)化復(fù)雜度,如果這個(gè)有向圖沒(méi)有環(huán),那么所有無(wú)向圖中的環(huán)對(duì)應(yīng)了有向圖中的<u,v><u,w><v,w>,然后考慮構(gòu)造一種方法是的復(fù)雜度盡量?jī)?yōu)秀,那么考慮讓度數(shù)小的點(diǎn)向度數(shù)大的點(diǎn)連邊,這樣構(gòu)造出來(lái)的圖有非常優(yōu)美的性質(zhì),滿足所有點(diǎn)的出度都是O(m)O(\sqrt{m})O(m?)
具體證明:
如果這個(gè)點(diǎn)在原圖上度數(shù)小于m\sqrt{m}m?那么新圖上出度一定小于m\sqrt{m}m?。
如果這個(gè)點(diǎn)在原圖上度數(shù)大于m\sqrt{m}m?那么新圖上它只會(huì)指向度數(shù)大于等于m\sqrt{m}m?的點(diǎn),因?yàn)橐粋€(gè)圖總度數(shù)是O(m)O(m)O(m),所以度數(shù)大于等于m\sqrt{m}m?的點(diǎn)只有O(m)O(\sqrt{m})O(m?)個(gè),所以這些點(diǎn)的出度也是O(m)O(\sqrt{m})O(m?)的。
總結(jié)
- 上一篇: 方案计数(带修计数题/线段树)
- 下一篇: 51nod 1847 奇怪的数学题(数论