曾有兩次 最短路樹

2022-05-20 01:33:20 字數 3491 閱讀 8438

以 11

號節點 為根節點建立最短路樹, 乙個節點刪邊時一定是刪去父邊,

考慮 刪去父邊後當前節點 u

u 到 1

1 的最短路長是什麼,

一定是 u→u

子樹內節

點v−非

樹邊→w

→1u→

u子樹內

節點v−

非樹邊→

w→1,

最短路長為 dep

sv−d

epsu

+w非樹

邊+de

pswd

epsv

​−de

psu​

+w非樹

邊​+d

epsw

​,於是考慮使用樹鏈剖分線段樹維護 dep

sv+d

epsw

+w非樹

邊dep

sv​+

deps

w​+w

非樹邊​

最小值min

nmin

n, min

n−de

psum

inn−

deps

u​即為答案 .

非樹邊 v→w

v→w 作用的範圍為 u

u 到 v

v 的樹上路徑上的點 (除 lca

lca), 如下圖所示黃色部分,

1649 齊頭並進 兩次最短路

1649 齊頭並進 codeforces 基準時間限制 1 秒 空間限制 131072 kb 分值 10 難度 2級演算法題 在乙個叫奧斯汀的城市,有n個小鎮 從1到n編號 這些小鎮通過m條雙向火車鐵軌相連。當然某些小鎮之間也有公路相連。為了保證每兩個小鎮之間的人可以方便的相互訪問,市長就在那些沒有...

最短路與次短路計數

poj 3464 問最短路的條數 比最短路權值大 1 的條數 做法 比較一下次短路和最短路的值 若次短路恰好比最短路大1,答案為最短路 次短路條數,否則答案就是最短路條數 1 include2 const int inf 0x3f3f3f3f 3 class count short path e m...

YbtOJ 631 次短路徑 左偏樹,最短路

給出 n 個點 m 條邊的一張無向圖,對於每個點 i 求不經過 i sim 1 的最短路的第一條邊的情況下 i 到 1 的最短路 資料保證這條邊唯一 n in 1,10 5 m in 1,2 times 10 5 c in 1,10 3 因為保證的那個東西,所以圖的最短路樹真的是一棵樹了,所以先跑出...