"CSDN同步" "原题链接" 前置知识: "$\text{dijkstra}$ 模板" 简要题意: 求任意两点的最短路。图中可能有 负环,负权,重边,自环 等现象。 显然我们先建图。 算法一 对于 $20\%$ 的数据,$1\leq n \leq 100$,不存在负环(可用于验证 $\text{F ...
分类:
其他好文 时间:
2020-04-08 18:57:23
阅读次数:
82
SPFA顾名思义就是更快的最短路算法,是Bellman ford算法的优化,SPFA的平均复杂度大约是O(K*|E|),在一般情况下K大约是小于等于2的数,但是总有人对你心怀不轨,构造一组SPFA最坏情形下的数据来卡你,这时候SPFA的复杂度可以达到接近二次指数。SPFA的优点在于可以判断负环,这要 ...
分类:
其他好文 时间:
2020-03-23 15:15:10
阅读次数:
55
一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
本博客只适于普及组二等奖食用 oj:https://loj.ac/problems , https://www.luogu.com.cn/ 目录: 单源最短路径 ST表 树状数组1 树状数组2 线段树1 线段树2 缩点(Tarjan) 割点(割顶) LCA 平衡树 负环 差分约束系统 矩阵快速幂 矩 ...
分类:
其他好文 时间:
2020-02-28 15:43:27
阅读次数:
68
负环 https://www.luogu.com.cn/problem/P3385 使用BFS的SPFA算法和普通的SPFA没有什么区别,我们如何判断有没有负环呢?我们有两种判法. 1.记录此点被更新了多少次,更新次数大于N就有负环.这意味着一个点被重复迭代超过N次,显然有负环. 2.记录从S到当前 ...
分类:
其他好文 时间:
2020-02-28 01:31:49
阅读次数:
73
emmm......蒟蒻的第一篇博客,先讲一个比较简单的东西来熟悉以下操作吧(还是怕自己翻车) 由于本人知识水平有限,暂时不会涉及相关数学知识,这篇博客主要还是提供个人对图论的比较感性的认识 这篇文章将要介绍: 图的基本定义 图的简单分类 一些简单术语的解释 因为本人比较蒻,所以这篇博客会讲的非常慢 ...
分类:
其他好文 时间:
2020-02-18 13:16:20
阅读次数:
114
这一算法与之前的Bellman-F=Ford算法一样,都可以判断负环 只需要检查dp [i] [j] 是负数的顶点i即可 1 // 求解任意两点间的最短路径问题 2 // Floyed-Warshall算法 3 // 复杂度O(N^3),N为顶点数 4 5 #include <cstdio> 6 # ...
分类:
编程语言 时间:
2020-02-16 19:07:56
阅读次数:
76
题目链接:https://vjudge.net/problem/LightOJ-1074 题意:简化题意后就是给了一个有向图(不一定连通),n个点,m条有向边(边权可为负),求点1到其它点的最短路(其中不能到达的点或者最短距离<3的输出'?',其余的输出相应的最短路即可)。 思路:因为有负权边,那么 ...
分类:
其他好文 时间:
2020-02-02 14:04:40
阅读次数:
72
挺懵的。。。 T1 实际上不难。 发现对于同一条边来说。 我们的答案关于我们取得点在这个边上的位置是一个单谷函数,因为两侧取max。 然后直接三分边上所在的位置。 check的时候首先用随便什么最短路处理出每个点之间互相的距离即可求值了。 T2 很棒的二进制分组。 我们把这种满足要求的路径拆成三段$ ...
分类:
其他好文 时间:
2020-01-29 20:04:57
阅读次数:
107
//判断负环 在负环内的城市输出? #include <iostream> #include <queue> #include <cstdio> #include <algorithm> #include <string.h> #include <string> using namespace st ...
分类:
其他好文 时间:
2020-01-27 19:09:16
阅读次数:
82