昨天考了图论 考完简直万脸懵逼 我学的是个啥 球吗???考试居然还叫图论入门((自杀 第一题重量不同的硬币 主要是两遍遍历和bellmanford 考试的时候只遍历了一遍 有很多漏洞 只拿了12分 第二题考最大生成树((还有异或 结果考试的时候全忘了(( 这个是真的不会 只能看看大佬的题解 第三题地 ...
分类:
其他好文 时间:
2017-12-11 22:10:47
阅读次数:
124
当我们使用BellmanFord算法时可以了解到,当我们第一次遍历时松弛的边是从源点可以直接到达的边,接着再从这些顶点可以直接到达的边进行松弛,以此类推。 所以基于以上思想我们可以去除BellmanFord算法中的无效循环。 首先我们可以选择使用连个数组first和next,first用于记录每条边 ...
分类:
其他好文 时间:
2017-11-19 22:12:31
阅读次数:
197
本篇文章中,bellmanFord代码有一半都是判断负权回路。复制粘贴无误。 核心代码: 如此下来,只需要将dist数组初始化,就可以实现了。完整代码如下,仅供参考。 ...
分类:
其他好文 时间:
2017-10-09 20:53:48
阅读次数:
123
BellmanFord算法是一种暴力求解算法O(N3),它考虑所有情况,所以可以允许边的权值为负。(不过不允许出现负权值回路,因为那样会出现无限小) 之所以说它暴力,是因为它求出了每个节点所有长度为1的路径,再求所有长度为2的路径,并更新最短路径数组dist[]和path[],如此迭代直至求到长度n ...
分类:
编程语言 时间:
2017-04-07 18:05:04
阅读次数:
194
目录 1 问题描述 2 解决方案 2.1 具体编码 1 问题描述 何为BellmanFord算法? Floyd算法功能:给定一个加权连通图,选取一个顶点,称为起点,求取起点到其它所有顶点之间的最短距离,其显著特点是可以求取含负权图的单源最短路径。 Floyd算法思想: 第一,初始化所有点。每一个点保 ...
分类:
编程语言 时间:
2017-03-10 23:29:46
阅读次数:
262
floyd/dijkstra/bellmanford/spaf 模板: 1. floyd(不能处理负权环,时间复杂度为O(n^3), 空间复杂度为O(n^2)) floyd算法的本质是dp,用dp[k][i][j]表示以(1....k)为中间点,i, j之间的最短距离为多少,dp[0][i][j]即 ...
分类:
其他好文 时间:
2017-03-08 22:35:05
阅读次数:
164
SPFA是改良后的BellmanFord(在刘汝佳的入门经典2上,甚至直接将SPFA归为BellmanFord的队列优化版本。 这是算法的伪代码 ...
分类:
编程语言 时间:
2016-08-28 17:58:00
阅读次数:
257
和POJ1860差不多,就是用bellmanford判读是否存在正环,注意的是同种货币之间也可以交换,就是说:A货币换A货币汇率是2的情况也是存在的。 ...
分类:
其他好文 时间:
2016-07-13 11:49:58
阅读次数:
153
这题作为模板题,解法好多... 最近周围的人都在搞图论阿,感觉我好辣鸡,只会跟风学习。 暂时只有SPFA的 SPFA (邻接表版。也可以写成临接矩阵存图,但题目可能给出平行边的,所以要注意找最小的边储存,还要注意判断一个点是否多次进入队列)老实说觉得SPFA好像只是被队列优化过的搜索一样的.. ...
分类:
其他好文 时间:
2016-06-26 22:37:30
阅读次数:
258
当对问题建立数学模型后,发现其是一个差分方程组,那么问题可以转换为最短路问题,一下分别选用Bellmanford-SPFA解题 ZOJ2770-Burn the Linked Camp POJ1201_Intervals ...
分类:
其他好文 时间:
2016-05-21 21:50:37
阅读次数:
399