SPFA算法 一.算法简介 SPFA(Shortest Path Faster Algorithm)算法是求单源最短路径的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法。 很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman- ...
分类:
编程语言 时间:
2018-03-28 22:01:47
阅读次数:
481
这周还是继续dynamic programming,不过回到了图算法,因为之前讲图算法的时候还没有讲到动态规划,而这三个算法要么本身是动态规划算法,要么要用到动态规划算法。 1.bellman-ford是一种求无负权值的环路的有向图两点间最小路径的算法,也就是说和dijkstra解决的是同一个问题。 ...
分类:
其他好文 时间:
2018-03-11 11:47:19
阅读次数:
170
ccf 201712-4 行车路线 解题思路: 首先Dijkstra是基于贪心算法的,即每一次作出的选择都具有贪心选择性。此题由于有“如果连续走小道,小明的疲劳值会快速增加,连续走s公里小明会增加s2的疲劳度。”这种情况,所以不能使用Dijkstra算法。 这里使用Bellman-Ford算法 70 ...
分类:
其他好文 时间:
2018-03-10 17:50:06
阅读次数:
275
题目描述 暴力枚举/SPFA/Bellman-ford/奇怪的贪心/超神搜索 输入输出格式 输入格式: 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每行三个整数a b w,表示a->b有一条权值为w的边(若w<0则为单向,否则双向) ...
分类:
其他好文 时间:
2018-03-04 23:50:22
阅读次数:
185
poj 1860 -- Currency Exchange(Bellman-Ford) 题意: 我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,你要为你的交换操 ...
分类:
其他好文 时间:
2018-03-01 21:42:15
阅读次数:
156
POJ 2240 -- Arbitrage(Bellman-Ford) 题意: 已知n种货币,以及m种货币汇率及方式,问能否通过货币转换,使得财富增加。 Bellman-ford 算法: 一个具有n个顶点的图如果不存在环,则从顶点x,到顶点y,最多经过n-1条边(要考虑连通性,每个顶点最多经过 1 ...
分类:
其他好文 时间:
2018-03-01 19:46:24
阅读次数:
135
Description 问题描述:链接 思路 裸题,判断图是否有负环,用 bellman_ford 或者 spfa 。 #include<iostream> #include<algorithm> #include<vector> #include<queue> #include<cstring> ...
分类:
其他好文 时间:
2018-02-16 11:13:40
阅读次数:
173
- 题目大意 个人要穿越到未来,但是之后还要回去,并且回去的时间要在他穿越之前。 - 解题思路 我们可以把在虫洞中的时间看做是负边权,然后利用bellman-ford算法来判断有没有负环即可。 - 代码 ...
分类:
其他好文 时间:
2018-02-15 15:40:27
阅读次数:
134
它是队列优化的Bellman-Ford算法。 优化的原理是:下一次松弛操作时被更新dis的点其实与上一次被更新的点有关!如果上一次被更新的点有一条边指向某点V,那么在下一次,点V就是可能被更新dis的点。 和 Bellman-Ford 算法一样,它可以用来求带负权边的最短路,如果存在一个从源点可以到 ...
分类:
编程语言 时间:
2018-02-14 23:39:48
阅读次数:
404
题目大意: 最短路; 基本思路: 松弛; 代码如下: ...
分类:
其他好文 时间:
2018-02-14 18:42:23
阅读次数:
175