1. 程式人生 > >[WC2014]紫荊花之戀

[WC2014]紫荊花之戀

col 需要 答案 但是 ont strong 現在 暴力 我們

題解:

首先考慮點分治

dis(i,u)+dis(i,v)<=value[u]+value[v]

移項就很容易發現用平衡樹可以很簡單的維護這個東西

但是有重復,需要在下一層的每個平衡樹內減去這個答案

這個時候時間復雜度是nlog^2

現在需要動態加點

假設加這個點不會破壞點分樹結構我們就暴力加點

經過log層,查詢log復雜度,時間nlog^2

但可能會破壞點分樹結構,比如一條鏈

這時候可以像kd-tree和替罪羊樹一樣選擇重構

具體的:就是max子樹*alpha>當前節點 alpha可以自己調一下,大概在0.8左右吧

[WC2014]紫荊花之戀