Dijkstra
逐梦起航-带梦飞翔
为了更加长远的快乐!
展开
-
poj2449 Remmarguts' Date(K短路)(A*)
题意k短路 题解A*+dijkstra用最短路长度作为k短路的估价函数再适合不过了。恰好满足f[x]<=g[x](f是估价函数,g是实际情况)。因为f应当是距离t的最短路,所以我们要反着跑一遍dijkstra,这样就处理好了f数组。接下来正着跑A*。对于每个点可以的所有距离都记录下来,选择f[x]+d最小的优先遍历。因为我们用的时优先BFS,当t第1次出队列时,一定是...原创 2018-08-20 08:48:03 · 196 阅读 · 0 评论 -
洛谷3008 [USACO11JAN]道路与航线(Dijkstra)(拓扑序)
题目洛谷3008 [USACO11JAN]道路和飞机Roads and Planes题解Dijkstra+拓扑排序+乱搞省选题怎么可能考裸的SPFA?题目中有一句话改变了这题的最优解法:“如果有一条航线可以从A_i到B_i,那么保证不可能通过一些道路和航线从B_i回到A_i。”它不仅告诉我们没有负环,还说明可以用拓扑序,还说这张图就是几个大的用单向边连接的连通块。所以我们的决策...原创 2018-09-29 13:30:49 · 1128 阅读 · 3 评论 -
最短路径生成树—介绍
例题在顺利攻破Lord lsp的防线之后,lqr一行人来到了Lord lsp的城堡下方。Lord lsp黑化之后虽然拥有了强大的超能力,能够用意念力制造建筑物,但是智商水平却没怎么增加。现在lqr已经搞清楚黑暗城堡有N个房间 (1≤N≤1000),M条可以制造的双向通道,以及每条通道的长度。lqr深知Lord lsp的想法,为了避免每次都要琢磨两个房间之间的最短路径,Lord lsp一定会把...原创 2018-09-30 14:40:18 · 2506 阅读 · 0 评论 -
Kruskal重构树—简介与基本应用
Kruskal重构树就是在做kruskal是把边权改成点权,一个n个点的图可以生成2*n-1个点的kruskal重构树。一篇很棒的博客https://blog.csdn.net/hwzzyr/article/details/81190442构造维护一个并查集。把图上的边按边权值递增排序,每次取出最小的边,用并查集判断其两端的点是否已相连。如果是,那么直接略过这条边;否则,建一个新点r,点...原创 2018-10-28 15:32:21 · 511 阅读 · 0 评论