基环树
文章目錄
- 概念
- 找環(huán)
- 拓?fù)渑判?/li>
- dfs
- 問題解決方法:
- 斷環(huán)法:
- 題目:
- 二次dp法
- 題目:
- 斷環(huán)復(fù)制法
- 題目:
參考博客
概念
基環(huán)樹 = n個(gè)點(diǎn)n條邊的圖 = 1棵樹 + 1個(gè)環(huán)
無向樹(N點(diǎn)N邊無向圖)
外向樹(每個(gè)點(diǎn)入度=1)
內(nèi)向樹(每個(gè)點(diǎn)出度=1)
以上三種樹有十分優(yōu)秀的性質(zhì),就是可以直接將環(huán)作為根。就可以對每個(gè)環(huán)的子樹進(jìn)行單獨(dú)處理,最后再處理環(huán)
找環(huán)
拓?fù)渑判?/h2>
處理無向圖
可以找出環(huán)上的所有點(diǎn)
入度大于等于2的點(diǎn)就是環(huán)上的點(diǎn)
code
dfs
處理有向圖,碼量小
mark就是環(huán)上的一個(gè)點(diǎn)
問題解決方法:
斷環(huán)法:
每次斷開環(huán)上的一條邊跑一遍答案,然后去最大值
適合:數(shù)據(jù)較小,且環(huán)不會影響答案的題目
題目:
[NOIP2018 提高組] 旅行
二次dp法
對于環(huán),我們可以像環(huán)形dp一樣將一條邊強(qiáng)行斷開處理,然后強(qiáng)行連上再處理一遍
適合:跑滿足正確性的
題目:
ZJOI2008騎士
斷環(huán)復(fù)制法
我們依舊像環(huán)形dp一樣斷開環(huán),然后再復(fù)制一遍放在后面
適合:多個(gè)需要維護(hù)的
題目:
IOI2008 Island
AcWing 289. 環(huán)路運(yùn)輸
總結(jié)
- 上一篇: 整除的判定
- 下一篇: P5049 [NOIP2018 提高组]