摘要: 这题就是裸的最短路,而且边权都为非负,可以直接用dijkstra来求。写这题主要是为了练习一下dijkstra的优先级队列实现,提交后运行时间为63MS,比一般的dijkstra快一点(97MS)。后来又尝试用SPFA写,结果还是63MS。在写dijkstra的优先级队列实现和SPFA的过程中发现,这两个算法非常类似,不过,SPFA用的是一般的队列。SPFA #include <stdio.h>#include <string.h>#include <queue>using namespace std;#define MIN(a,b) ((a)<(b) 阅读全文
posted @ 2012-07-09 14:59 BeatLJ 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 求欧拉道路的题,可能是回路,也可能不是回路,若存在奇度点,则应从奇度点开始找路径,为保证最后的路径是字典序最小的,找路径时必须遵循小结点优先的原则。View Code 1 #include <stdio.h> 2 #include <string.h> 3 #define MAX(a,b) ((a)>(b)?(a):(b)) 4 #define N 501 5 int n,m,g[N][N],d[N],path[N],top; 6 void dfs(int u) 7 { 8 int v; 9 for(v=1;v<=n;v++)10 {11 if(g[u... 阅读全文
posted @ 2012-07-09 08:53 BeatLJ 阅读(225) 评论(0) 推荐(0) 编辑