SPFA是一种单源最短路算法,与Dijkstra不同的是,他可以处理负边权,而且能判断负环。SPFA是Bellman算法的队列优化,在过程上和BFS有些类似。SPFA的算法流程大时这样的,先将源点加入队列中,只要队列不为空,取出队首元素,用他去更新与他相连的点的最短路,若成功更新且被更新的点不在队列 ...
分类:
编程语言 时间:
2018-08-20 23:49:56
阅读次数:
342
Dijkstra算法是用于求单源最短路的算法,也就是求出一个点到图上其他点的最短路,但是要求图中不能有负边权,时间复杂度为O(n2)。 算法思想是,先将源点的最短路置为0,每次取出已更新过最短路的点中,最短路最小的点,然后遍历与其相连的点,进行松弛操作(if(d[v]>d[u]+w<u,v> d[v ...
分类:
编程语言 时间:
2018-08-20 00:30:33
阅读次数:
176
单源最短路径问题是指,给定一个图G=(V,E),希望找到从给定源结点s到每个节点v的最短路径。单源最短路径问题可以用来解决很多最短路径的变体。 单目的地最短路径问题:找到从每个结点v到给定目的地结点t的最短路径。将图的每条边翻转,这个问题可以转换为单源最短路径问题。 单结点对最短路径问题:找到从给定 ...
分类:
编程语言 时间:
2018-08-12 15:34:22
阅读次数:
231
适用于有向单源最短路径图: 实质:对集合S进行扩大,直至无法扩大,每收集一个点d至集合S,对与该点d直连的点在dist[]中的路径值进行更新。 S = {源点s + 已经确定了最短路径的顶点vi}; 对任一未收录的顶点vi,定义dist[v]为s到v的最短路径长度,但该路径仅经过S中的顶点。 Q1: ...
分类:
其他好文 时间:
2018-08-12 01:31:54
阅读次数:
146
A Walk Through the Forest Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 10172 Accepted Submissi ...
分类:
其他好文 时间:
2018-08-09 19:29:36
阅读次数:
117
tips: 1.用了Dijsktra算法,邻接表存图,单源最短路,无负权图 2.对n个顶点进行处理分成两个集合,松弛n次(也是循环次数) 3.学习优化后的Dijsktra...ヾ(?°?°?)?? #include<cstdio> #include<vector> using namespace s ...
分类:
其他好文 时间:
2018-08-07 22:52:37
阅读次数:
129
题意 题意是给你一张 NMNMNM 的图,每个点有黑色和白色,初始全为白色,每次可以把一个相同颜色的连续区域染色,求最少的染色次数;(n,m<=50) 题解 转化为最短路。对于每一个点与它相邻的相同颜色的点连权值为0的边,对于颜色不同的点连权值为1的点。从每一个点跑单源最短路,把到W点的距离和到B点 ...
分类:
其他好文 时间:
2018-07-28 20:34:42
阅读次数:
194
P3371 【模板】单源最短路径(弱化版) P3371 【模板】单源最短路径(弱化版) P3371 【模板】单源最短路径(弱化版) 17.5K通过 56.1K提交 题目提供者HansBug 站长团 评测方式云端评测 标签O2优化高性能 难度普及/提高- 时空限制1000ms / 128MB 提交 题 ...
分类:
Web程序 时间:
2018-07-26 10:18:27
阅读次数:
274
线段树优化dij 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 我可能是个智障 c++ // luogu judger enable o2 pragma GCC diagnostic error " std=c++11" pragma GCC optimize(" fdelete null pointer ch ...
分类:
其他好文 时间:
2018-07-25 10:25:25
阅读次数:
226
主要参考算法导论 [TOC] 基本性质 使用min_w(s,v)表示源节点s到v的最短路径长度; w(u,v)表示节点u到v的权重; u.d表示源节点s到节点u的当前路径长度; 松弛操作 include include include include using namespace std; def ...
分类:
编程语言 时间:
2018-07-22 23:32:10
阅读次数:
227