基於邊的一種分治。統計過中心邊的所有路徑
可以類比點分治學習
構造:
每次找中心邊(使得兩側的sz的最大值最小),然后遞歸下去
菊花圖會卡成鏈,構造變成O(n^2)。
其實復雜度和度數相關
考慮轉化成二叉樹
三度化
法一:把所有兒子依次加一個點串起來
法二:
如果兒子多於2個,建立兩個兒子虛點,把真正兒子奇偶分類給兩個虛點
虛點放在n后面,最后會再處理到
所以其實邊分治的分治樹上的點有4*n個
本來n個點,rebuild變成2*n
而分治樹除了葉子別的點都是邊(類似於kruskal重構樹),所以總共4*n個節點
性質:
二叉樹
優劣:
優:1.二叉樹兒子少,討論減少了很多。復雜度基本嚴格logn
邊分樹兒子常數個(為2),每個點在這一層只有兩種所屬
邊分樹也是二叉樹,為邊分樹合並提供條件
劣:2.虛點必須不影響答案
例題:
邊分樹使得每個點兩個屬性:[WC2018]通道
邊分樹是二叉樹支持合並: [CTSC2018]暴力寫掛——邊分樹合並
動態邊分治
和點分治一樣
分治樹上只有了2個兒子,處理兒子的貢獻就很好辦了
關鍵還是避免虛點虛邊的影響了
把虛點設置為黑點。也就可以邊分治做了