题意是给出一个有向图 给出一定的边 可以求出边权 求单源最短路 如果<3 或者 达不到 输出问号 不然输出dis[v] 一开始耿直的写了一个dij交上去 还过了样例 然后wa掉 看了看题 发现其中有负权边 并且应该是可以达到负环的 比如3->1->2->3 所以<3是判断 这个点能否是负的 或者 它 ...
分类:
其他好文 时间:
2016-06-02 20:06:11
阅读次数:
167
最短路径:我的理解--SPFA算法 SPFA算法 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm。 最短路径快速算法-SPFA算法是西南交通大学段凡丁于1994年发表的。 适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,
分类:
编程语言 时间:
2016-03-18 07:10:13
阅读次数:
257
题目是说给一棵树,叶子结点有负权,边有正权,问最多能选多少个叶子结点,使从叶子到根的权值和小于等于0。 考虑数据规模表示出状态:dp[u][k]表示在u结点为根的子树中选择k个叶子结点的最小权值 最后就从d[1][k]中找满足的最大的k。不过单这样转移时间复杂度是指数级,显然这题就是用树上背包了。
分类:
其他好文 时间:
2016-03-12 22:34:49
阅读次数:
244
1.定义概念 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。值得注意的是,该算法要求图中不存在负权边.2.基本思想 设置顶点集合S,初始时,S中仅含有起始点,把从起始点到u且中间只经.....
分类:
编程语言 时间:
2015-12-14 18:25:33
阅读次数:
230
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便 派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重 ...
分类:
编程语言 时间:
2015-11-29 10:42:49
阅读次数:
236
几大最短路径算法比较几个最短路径算法的比较:Floyd 求多源、无负权边(此处错误?应该可以有负权边)的最短路。用矩阵记录图。时效性较差,时间复杂度O(V^3)。Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向...
分类:
编程语言 时间:
2015-11-24 21:14:20
阅读次数:
261
---恢复内容开始---Bellman—Ford算法能在更普遍的情况下(存在负权边)解决单源点最短路径问题。对于给定的带权(有向或无向)图G=(V,E),其源点为s,加权函数w是边集E的映射。对图G运行Bellman—Ford算法的结果是一个布尔值,表明图中是否存在着一个从源点s可达的负权回路。若存...
分类:
编程语言 时间:
2015-10-09 13:57:13
阅读次数:
206
题目大意N个点,M条双向路径,W条单向路径。从双向路径的一端到另一端所花费时间为正值,从单向路径的源点到终点所花时间为负值。问是否存在一条从A出发,再回到A的回路,满足回到A的时间小于出发时间。题目分析显然为一个求含负权边的图中是否含有负权和回路。采用SPFA算法解决。实现(c++)#include...
分类:
其他好文 时间:
2015-10-08 18:01:53
阅读次数:
150
适用范围:给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了。 我们约定有向加权图G不存在负权回路,即最短路径一定存在。当然,我们可以在执行该算法前做一次拓扑排序,以判断是否存在负权回路,但这不是我们讨论的重点。...
分类:
其他好文 时间:
2015-08-20 22:10:15
阅读次数:
158
1 # Bellman-Ford核心算法 2 # 对于一个包含n个顶点,m条边的图, 计算源点到任意点的最短距离 3 # 循环n-1轮,每轮对m条边进行一次松弛操作 4 5 # 定理: 6 # 在一个含有n个顶点的图中,任意两点之间的最短路径最多包含n-1条边 7 # 最短路径肯定是一个不包含回.....
分类:
编程语言 时间:
2015-07-31 18:15:12
阅读次数:
623