图论复习——最短路
知識點
最短路徑算法
最短路徑樹
每個點uuu的父親為使uuu得到最短距離的前驅節點,若有多個,則取任意一個。
題目
CF449B Jzzhu and Cities
 Blog
CF464E The Classic Problem
 Blog
[XSY3888] 傳送門
 對每個點uuu,記d(u)d(u)d(u)表示uuu到TTT的最短路,e(u)e(u)e(u)表示刪掉它和最短路上父親的邊后的最短路。令dp(u)dp(u)dp(u)表示S=uS=uS=u時的答案。每次找到dpdpdp值最小的點來更新其它的點的dpdpdp值即可。用uuu更新vvv時的轉移為
 dp(v)=min{max(dp(u)+w(u,v),u==parentv?e(v):d(v))}dp(v)=min\{max(dp(u) + w(u, v), u==parent_v?e(v) : d(v))\}dp(v)=min{max(dp(u)+w(u,v),u==parentv??e(v):d(v))}。
e(u)e(u)e(u)的求法見[USACO09JAN]Safe Travel G
 
 摘自此Blog
 Code
傳送門 Code
總結
 
                            
                        - 上一篇: 七彩虹 PLUTO 冥王星无线三模游戏耳
- 下一篇: 吾空公布新款凌云 X14 Pro 笔记本
