摘要: 首先要知道不能跑最短路,因為只有整2^k才能一秒到達,和倍增有關 所以我們想知道任意兩點間能否存在一條2^k長度的路徑,數據很小,可以考慮floyd 把倍增和floyd結合起來考慮發現如果i到k,k到j各有一條2^(k-1長的路徑,那麼i,j之間存在一條2^k長度的路徑 於是在更新一下實際時間,對時 阅读全文
posted @ 2019-04-19 21:25 羊肉汤泡煎饼 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一道好題不出所料又抄的題解 1.首先對於這張圖肯定要考慮走哪些邊不走哪些邊,發現我們想要的肯定那些邊權最大的邊,所以想到最大生成樹 這樣能保證選到盡量大的邊 2.跑完最大生成樹后每兩點之間就有唯一路徑了,想要知道兩點間最小邊權,可以在LCA過程中求出(我竟然不會LCA),對lca做些許改動 阅读全文
posted @ 2019-04-19 20:27 羊肉汤泡煎饼 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 首先考虑最小生成树的模型,唯一不同的是第二种情形。 即“三个或三个以上的城市申请修建的公路成环” 考虑该情形,因为修路的申请是申请离它最近的城市,所以上述条件实质上为 “存在三个或三个以上的城市,他们两两间的最近城市连起来成环” 而题目保证有唯一解,所以第二种不存在 double的5000*5000 阅读全文
posted @ 2019-04-19 19:47 羊肉汤泡煎饼 阅读(98) 评论(0) 推荐(0) 编辑