最短路径( dijkstra / floyd / spfa
_Warning_
这个作者很懒,什么都没留下…
展开
-
HDU - 2544 最短路 (dijkstra 优先队列优化)
题目链接 是一个求最短路的模板题(题目中都写最短路23333)。 一般建图比较方便的是用邻接矩阵的方法,但是对于dijkstra算法来说,其时间复杂度为O()。 我们有一个更好的优化算法:即利用优先队列(小根堆)进行时间上的优化,复杂度可以达到O((m+n)logm)。 (题外话:vector真心真心好用,vector是已经封装了的,又不像链表那么麻烦,最关键...原创 2018-08-07 21:14:17 · 815 阅读 · 0 评论 -
HDU - 1224 Free DIY Tour(SPFA求最长路)
题目大意:题目链接 weiwei要出去环游世界了!但并不是每个景点之间都有直达的飞机的,每个景点都有一个有趣值,而且weiwei最后必须回到他的出发点(毕竟环游嘛)题目中把1和n+1均设为出发点,给出每个景点的有趣值以及哪些景点之间有直达的飞机,注意的是,编号大的景点不会有直达的飞机到编号小的景点。求如何规划路线才能使weiwei获得最大的有趣值。 题目: 题目思路: ...原创 2018-08-07 21:38:08 · 475 阅读 · 0 评论 -
HDU - 1599 find the mincost route(Floyd求最小环)
裸题,就是给你一个图,求出最小环。 题目链接:戳我戳我 其实Floyd算法很大部分采用的是dp的思想,利用之前求出来的最短路不断去更新下面的路径值。而求最小环我们可以转换思想:一个环的路径和=这个环的编号最大点到另外两个点的路径和+这两个点的最短路径。因为Floyd是在枚举要经过的点(相当于dp中的分割点的感觉),这样我们就可以在利用Floyd的过程中算出最小环了。 ...原创 2018-08-07 21:49:59 · 132 阅读 · 0 评论 -
HDU - 3339 In Action(dijkstra+01背包)
看题目戳我 题目大意: 有n个发电站,m条路,每条路有各自的距离,每个发电站有各自的发电量,现在需要炸毁它们,一辆坦克只能炸毁一个发电站,而且需要炸毁的发电厂的发电量需要大于所有发电站所产生的总电量的一半,求坦克走的最短距离。 题目思路: 看完这个题目一个比较容易产生的想法就是:求出源点到达其他点的最短距离,然后把距离从小到大排队,看到达哪个点(即哪个路线)炸毁的...原创 2018-08-07 22:03:05 · 172 阅读 · 0 评论