2012年8月10日

POJ 2263 Heavy Cargo解题代码(SPFA)

摘要: 看了网上很多都用Dijstra或者是Floyd算法解答的,于是自己就用SPFA解试了一下,一下AC过,虽然时间47ms;运用dist[v]=max(dist[v],min(dist[u],edge[u][v]));代码如下: 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<queue> 5 using namespace std; 6 #define INF 200000 7 #define MAXN 201 8 9 struct node 10 { 1 阅读全文

posted @ 2012-08-10 21:23 我的ACM之路 阅读(242) 评论(0) 推荐(0) 编辑

POJ_3268_Sliver Cow Party结题报告

摘要: 两次运用SPFA算法求最短路,所用的地图是相互反向的,采用的是邻接表表示 1 #include<iostream> 2 using namespace std; 3 #include<queue> 4 #include<cstdio> 5 #include<cstring> 6 #define INF 20000000 7 #define MAXN 1010 8 struct node 9 { 10 int to; 11 int w; 12 node * next; 13 }; 14 15 node * edge1[... 阅读全文

posted @ 2012-08-10 14:56 我的ACM之路 阅读(182) 评论(0) 推荐(0) 编辑

最短路——SPFA算法模板

摘要: 1 #include<iostream> 2 using namespace std; 3 #include<queue> 4 #define MAXN 10 5 #define INF 100000000 6 struct node 7 { 8 int to; 9 int w; 10 node * next; 11 }; 12 13 node * List[MAXN]; 14 int path[MAXN]; 15 int dist[MAXN]; 16 int vis[MAXN]; 17 int n; 18 19 void SPFA(i... 阅读全文

posted @ 2012-08-10 10:51 我的ACM之路 阅读(279) 评论(0) 推荐(0) 编辑

POJ_3259_Wormholes

摘要: 本题目实际上就是判断是否存在带负权回路,我用的是SPFA算法判断,原理是:如果存在负权值回路,则存在某顶点入队次数count1[v]>N(总的顶点数),所以只需添加一个数组记录顶点入队次数就行了。View Code 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #include<queue> 6 #define MAXN 600 7 #define INF 100000000 8 struct node 9 { 10 阅读全文

posted @ 2012-08-10 10:50 我的ACM之路 阅读(146) 评论(0) 推荐(0) 编辑

导航