一顆n個節點的樹所有邊都壞掉了。 請m個工人修路,每個工人都可以修一條樹鏈ui到vi,費用為ci。 求最小修路費用,無法全部修復輸出-1。
我們來設f[i]表示i子樹全都修好(包括i到父親那條邊)的最小費用。 怎么轉移呢? 比如有一個能修i到其父親邊的工人j,費用是這個工人的費用+其他雜七雜八的子樹的f值和。 用線段樹來維護,大概是這樣吧QAQ
我們來看看一個強做法! 首先可以把修邊看成修點,根節點不用修。 設xj表示第j個工人的使用次數,顯然xj>=0 Ai,j=1表示第j個工人能第i個點,否則Ai,j=0
新聞熱點
疑難解答