
最短路
Werky_blog
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Dijkstra算法模板
#include int main(){ int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min; int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值 //读入n和m,n表示顶点个数,m表示边的条数 scanf("%d %d",&n,&m);原创 2017-05-24 19:12:47 · 523 阅读 · 0 评论 -
Floyd算法
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1874问题:Floyd算法里面那句e[j][k]=e[j][i]+e[i][k],而我写成e[i][k]=e[i][j]+e[j][k]就无法AC,有什么区别吗?用前者是因围i在最外层吗?那也没影响啊~~~#include#define max 210#define maxn 99999原创 2017-05-25 21:11:33 · 387 阅读 · 0 评论 -
刘汝佳 Dijkstra 队列优化
const int inf=999999999;struct Edge{ int from,to,dist; Edge(int u,int v,int d):from(u),to(v),dist(d){}};struct Dijkstra{ int n,m; vector edges; vector G[maxn]; bool done[max原创 2017-10-05 22:37:26 · 1286 阅读 · 0 评论 -
hdu 2544 最短路(模板)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=2544/*Dijkstra的算法思想:在所有没有访问过的结点中选出dis(s,x)值最小的x对从x出发的所有边(x,y),更新dis(s,y)=min(dis(s,y),dis(s,x)+dis(x,y))*/#include #include #include #incl原创 2017-10-05 22:29:59 · 166 阅读 · 0 评论 -
hdu 1317 XYZZY(bellman + Floyed)
题目:http://acm.split.hdu.edu.cn/showproblem.php?pid=1317题意:初始值100,每个房间有正值或负值,加上每个值,每个房间可以走好多次,看最后走到n是否为0。保证每次到房间都>0。分析:有正环即一定可行,用bellman-Ford判断正环,改一改即可,dist改为-inf,u+w0即可。 用Floyed判断环和n是否联通。/*原创 2017-10-10 21:42:01 · 198 阅读 · 0 评论 -
POJ 3259 虫洞(bellman-Ford)
题意:农田上有N块田地,M条路径,M行代表双向路径,W行代表虫洞,单项路径。问能不能从某地出发回到某地,使回来时间早于出发时间。#include #include #define inf 1000000using namespace std;const int maxn=502;const int maxm=5210;int n,m,w,num,dist[maxn];s原创 2017-10-09 10:56:20 · 293 阅读 · 0 评论 -
UVa 10048 Audiophobia(Floyed变形)
/*+改为max,想想就想过来了,要存最大噪音,但要找最小的路径。*/#include #include #include #include #include using namespace std;const int maxn=105;const int inf=1000000;int d[maxn][maxn];int n;void Floyed(){ for原创 2017-10-09 23:39:53 · 141 阅读 · 0 评论 -
UVa 247 电话圈(Floyed判环)
Calling CirclesTime Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %lluSubmitStatusDescriptionIf you've seen television commercials for long-dist原创 2017-10-09 22:10:37 · 356 阅读 · 0 评论 -
1030 Dijkstra+DFS
//原来做完Dijkstra加一个DFS是这么加的。要想好怎么递归#include #include #include using namespace std;int n, m, s, d;int e[510][510], dis[510], cost[510][510];vector pre[510]; //记录s到d的路径。bool visit[510];转载 2017-09-04 21:38:53 · 274 阅读 · 0 评论 -
1111 Dijkstra+DFS
https://www.patest.cn/contests/pat-a-practise/1111/*没错,最快路径相同时是输出最少节点,自己读错题了!!用pre[v].clear()一定先声明是二维数组;*/#include#include#include#include#includeusing namespace std;const int inf=999999转载 2017-09-17 11:02:03 · 259 阅读 · 0 评论 -
1018 最短路 Dijkstra+DFS
/*跟1030一样,只不过多加了一项限制,当minneed==tempneed的时候再判断一下minback即可;*/#include #include #include #include using namespace std;int cmax, n, sp, m;int e[510][510], dis[510], weight[510];vector pre[510];原创 2017-09-13 10:52:29 · 307 阅读 · 0 评论 -
L2-001 紧急情况/Emergency
题目:https://www.patest.cn/contests/gplt/L2-001其实根本不用dfs,还因为忘加反向路径和路径数搞错wa了好久。。。#include<bits/stdc++.h>using namespace std;const int inf=99999999;const int maxn=505;vector<int> pre[maxn]...原创 2018-03-06 15:56:39 · 134 阅读 · 0 评论