图论 最短路
文章平均质量分 78
saucyJack
外科
展开
-
poj 1724 ROADS
传送门:http://poj.org/problem?id=1724 注意有重边! ①Dijsktra+优先队列(16ms): #include #include #include #include #include using namespace std; const int INF=0x3f3f3f3f; const int maxn=10010; int T,n,k,r,e; i原创 2016-02-16 16:49:12 · 223 阅读 · 0 评论 -
最短路算法(Floyd、Dijsktra、Bellman-Ford、SPFA)
最短路算法基本可以分为以下两个步骤: ①初始化(任意两边的距离) ②松弛操作 在图论中,最关键的是如何建图。 在最短路算法中,首先要处理数据,在这个时候,要考虑该用那种方式建图。 比较常见的建图方式:邻接链表、邻接矩阵、前向星、链式前向星、十字链表。 对于这五种建图方式,在这里不做详细讨论,只是大概介绍一下优点和缺点。 邻接链表:适合点多的图 邻接矩阵:适合边多的图 链式前向原创 2016-01-31 23:15:21 · 616 阅读 · 0 评论 -
POJ 1062(Dijsktra)
题目链接:http://poj.org/problem?id=1062 好不容看到一道中文题..很激动但还是看不懂啊,感觉中文题反而更难了.... 这题是最短路的问题,discuss里也有DFS爆搜做的,没仔细看,题目很经典。 感觉建立图论模型真的异常艰难。 这道题的难点在于如何建立Dijsktra算法模型,假定增加一个起点0,到终点1,共有N个点,经过其中n个点,要求按照等级从小原创 2016-01-25 11:58:54 · 259 阅读 · 0 评论 -
POJ 3259(最短路径)
题目链接:http://poj.org/problem?id=3259 题意:现在有n个点,m条边,w个虫洞,给出m个a,b,c,表示从a到b需要花费c时间,从b到a需要话费c时间,然后给出w个a,b,c,表示从a到b花费-c个时间,问是否存在一条路径使得最终回到源点的时间比初始时间小。 思路:最短路径,Bellman-Ford或SPFA判断是否存在负环的问题。 注意:数据范围比题目中给的略原创 2016-01-25 09:50:41 · 389 阅读 · 0 评论 -
POJ 1860(最短路之Bellman-Ford)
题目链接:http://poj.org/problem?id=1860 题意:首先给出四个数n,m,s,v,分别表示n种货币,m个兑换关系,s源货币,源货币的本金v 然后给出m行,每行给出6个数beg,end,r1,c1,r2,c2,分别表示beg和end货币兑换的比率和手续费,end和beg货币兑换的比率和手续费 。问能否通过货币兑换使手里的源货币依然是第s中货币,并且本金增多。 思路:原创 2016-01-24 23:32:13 · 812 阅读 · 0 评论 -
poj 3255 Roadblocks(spfa次短路 || Dijsktra)
#include #include #include #include #include using namespace std; const int INF=0x3f3f3f3f; const int maxn=5005; int n,r; int head[maxn],dis[maxn][2],vis[maxn]; int e; struct Edge{ int to; int w;原创 2016-03-07 16:38:50 · 356 阅读 · 0 评论 -
poj 1125 Stockbroker Grapevine(多源最短路)
题目链接:http://poj.org/problem?id=1125 思路:用Floyd预处理任意两点之间的最短距离,然后枚举每个点到其他所有点的最长距离,求出最小距离,如果最小距离不为INF,总有解,输出即可。 在这里,注释一下Floyd的动态规划思想: dp[k][i][j]表示i和j之间可以通过编号为1...k的节点的最短路径。初值dp[0][i][j]为原图的邻接矩阵。原创 2016-03-24 10:42:00 · 231 阅读 · 0 评论