Dijkstra算法和BellmanFord算法是两大经典的单源最短路径算法. Bellman支持负权重的边, 不支持负环. Dijkstra算法的效率更高, 不支持负边, 用处更广泛.Dijkstra的基本过程如下:初始化每一个节点: 对于源节点, 我们把距离(distance)字段设为0. 其他...
分类:
编程语言 时间:
2015-01-14 21:15:28
阅读次数:
282
#include
#include
#include
#include
using namespace std;
const int MAXN = 550;
const int MAXM = 5500;
const int INF = 0xffffff0;
struct EdgeNode
{
int to;
int w;
int next;
}Edges[MAXM];
int Head[MAXN],Dist[...
分类:
其他好文 时间:
2015-01-07 13:16:33
阅读次数:
136
题目大意:有N种货币,货币之间可以按汇率交换,同时还需要收手续费,当你用100A货币去交换B货币,
假如A到B的汇率为29.75,手续费为0.39,则你可以得到(100-0.39)*29.75 = 2963.3975的B货币。货币
可以一直重复交换,问:能否通过兑换货币之后,增加你手中货币的价值,则输出"YES",否则输出"NO"。
思路:把N种货币看成图上的N个点,当你有数量为V的货币A时,
货币AB之间的权值就是——(V-手续费)*A到B的汇率
这道题就可以转换为求图是否还有可无限增大(含有正权回路)的...
分类:
编程语言 时间:
2015-01-07 00:45:47
阅读次数:
146
Currency ExchangeDescriptionSeveral currency exchange points are working in our city. Let us suppose that each point specializes in two particular cur...
分类:
编程语言 时间:
2014-10-29 21:19:21
阅读次数:
148
最短路径算法也是常用的图算法,在网上看到了一份c的代码,写的很清楚,今天有空给写成java的了,就当练手了。另,算法导论362页详细介绍了Bellman-Ford算法,本来打算再写个Dijsktra算法的,可是今天比较赖,就写这一个算法吧。package path;import java.util....
分类:
Web程序 时间:
2014-09-10 15:28:40
阅读次数:
175
会建图,然后使用标准的Bellman Ford算法,判断负环就解决了。
不过本题实际应用不是计算负环,而是计算最大值,也就是求出源点到所有点的最大收益值之后,然后判断是否可以进一步增加收益,如果可以那么证明有环可以不断反复走这个环,不断增加收益,实际就是判负环的应用了。
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-09-02 10:32:24
阅读次数:
240
摘自网络,对于这个训练计划,我只能膜拜,~第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15 分钟内打完,甚至关掉显示器都可以把程序打出来.1.最短路(Floyd、Dijstra,BellmanFord)2. 最小生成树(先写个...
分类:
其他好文 时间:
2014-08-01 22:55:42
阅读次数:
374
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long ...
分类:
其他好文 时间:
2014-07-18 19:22:03
阅读次数:
157
http://poj.org/problem?id=1556
The Doors
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 6120
Accepted: 2455
Description
You are to find the length...
分类:
其他好文 时间:
2014-07-08 17:02:53
阅读次数:
171
??第一阶段:练经典经常使用算法,以下的每一个算法给我打上十到二十遍,同一时候自己精简代码,由于太经常使用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都能够把程序打出来.1.最短路(Floyd、Dijstra,BellmanFord)2.最小生成树(先写个
prim,kruscal ...
分类:
其他好文 时间:
2014-06-06 06:41:41
阅读次数:
407