傳送門
點分治裸題(笑 黃學長的題解看不懂啊。。。 自己yy了一種做法 果然蠢到爆炸
將邊權看成1和-1,那么合法的路徑即為路徑權值和為0,并且從中間分開兩段和都是0 如果從路徑的一個起點開始做前綴和的話,要求終點的權為0且中間點的權出現過0 進行點分治,每一次對所有的點做以當前根為起點的前綴和,然后每一個點都得到了一個點權 要將這些點兩兩組合使得整條路徑合法 首先顯然如果兩個點權相加為0才是合法的匹配 如果當前點到根的路徑中存在點和這個點的點權相等,那么這條路徑已經單獨存在休息站,將這個點標記 然后分類討論 如果當前點權為0,如果沒有標記,那么可以和其它任意的0匹配;如果有標記,那么不光可以和其它任意的0匹配,還可以自己到根算一條路徑 如果當前點權不為0且沒有標記,那么只能和有標記的匹配 如果當前點權不為0且有標記,那么可以和其它任意合法的匹配 用數組記錄權為i的個數然后計算就行了 時間復雜度
新聞熱點
疑難解答