这一算法与之前的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
DAG状压dp的一种 题目: $m$个城市,$n$张车票,第i张车票上的时间是$t_i$, 求从$a$到$b$的最短时间,如果无法到达则输出“impossible” 解法: 考虑状态:“现在在城市$v$,此时还剩下的车票的集合为$S$”这样的状态。从这个状态出发,使用一张车票移动到$i \in S$ ...
分类:
其他好文 时间:
2020-02-15 23:21:34
阅读次数:
103
U.N.OWEN就是她吗?
哈德曼的妖怪少女
平安时代的外星人 ...
分类:
其他好文 时间:
2020-02-14 22:16:19
阅读次数:
66
题目链接: "P2299 Mzc和体委的争夺战" 单源最短路板子题吗,体面晦涩难懂(语文不好),以为是有向图,只有$30pts$,其实是无向的,我使用了刚学来的$SPFA$,通过了此题: $Code$: 可以说是$SPFA$板子,~~背一下~~。 ...
分类:
其他好文 时间:
2020-02-14 18:58:34
阅读次数:
61
#include<string> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <algorithm> #include <queue> #include <vector> ...
分类:
其他好文 时间:
2020-02-14 11:08:50
阅读次数:
66
"题面" 看到数据范围这么小,第一眼想到爆搜。 然而这样做的复杂度是 $\mathcal{O}(n! \times n)$ 的,明显会 TLE。 于是考虑状压 DP。 我们设 $dp_{i,j}$ 表示当前走过的集合为 $i$,且停留在 $j$ 号点的最短路径长度。 转移的话可以枚举一个点 $k$, ...
无权最短路径 从图G中,选择s为开始的点,从s到s的最短路径是长为0的路径,将这个信息做个标记;然后开始寻找所有与s距离为1的顶点,将这些顶点做标记;然后开始找出从s出发最短路径恰为2的顶点;直到所有顶点已经被计算。 这种搜索一个图的方法称为 广度优先搜索(breadth first search) ...
分类:
编程语言 时间:
2020-02-12 21:58:02
阅读次数:
66
"题面" 一开始拿到这个问题并不好做,于是考虑拆点。 考虑将一个点拆成 $c+1$ 个,每个点表示(编号,剩余油量)。 然后 $\text{Dijkstra}$ 最短路即可。 每次跑 $\text{Dijkstra}$ 时,先判断能不能再加 $1$ 单位的油,然后遍历每一条出边,加入优先队列。 注意 ...
继续复习数据结构和算法,总结一下求解最短路径的一些算法。 弗洛伊德(floyd)算法 弗洛伊德算法是最容易理解的最短路径算法,可以求图中任意两点间的最短距离,但时间复杂度高达$O(n^3)$,主要思想就是如果想缩短从一个点到另一个点的距离,就必须借助一个中间点进行中转,比如A点到B点借助C点中转的话 ...
分类:
编程语言 时间:
2020-02-10 00:08:40
阅读次数:
70
在第i个点只能选A[i]次的情况下,能选出多少条1 n的最短路 Solution 我们造出最短路DAG,然后对每个点拆点限流,跑最大流即可 双向边警告!(有悖直觉 我的模板丑的不行了,我得去改造模板了 ...
分类:
其他好文 时间:
2020-02-09 11:36:56
阅读次数:
77