最短路
文章平均质量分 50
yashem66
长期提供绕地人造卫星清洗除尘服务。
展开
-
BZOJ1001 狼抓兔子 详解 (平面图 spfa)
题目大意:求网格图的最小割。题解:把平面图中的每一个面积块转化为一个结点,并在网格外的面积块中分出两个面积块分别作为S和T,spfa求出的最短路即为最小割。因为只要选择了一条联通的S-T路径,图一定被割为两部分。update! 把图建好之后应该是这样的,每条新边(彩色边)的边权就是它割开的原图中那条边的边权。如果选择了一条从S到T的路径(如图中浅绿色路径所示),那么就相当于选择了一些原图中的边并将原创 2017-04-06 16:15:27 · 912 阅读 · 0 评论 -
BZOJ1003 物流运输 (DP spfa)
题目大意给出m个点e条带权边,在n天内每天从1到n走一遍,边权即为代价,每次更换线路需要k点代价,问最小的代价。题解考虑到数据范围很小,可以先预处理出所有时间区间内的从1到n的最短路的长度dis[i][j],然后进行dp。初始状态: f[i][j]=dis[i][j] dp方程为: f[i][j]=min(f[i][k-1]+f[k][j]+K) (i代码:#include <cstdio>#i原创 2017-04-06 16:24:06 · 516 阅读 · 0 评论 -
(复习)图论--最短路--Dijkstra算法
定义:迪杰斯特拉算法是由荷兰计算机科学家狄克斯特拉于1959 年提出的,因此又叫狄克斯特拉算法。是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题。迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。思路:选一起点(单源问题中的源点),从起点开始拓展,用边更新每一个点到起点的最小距离,每次选一个到起点距离最短的点进行下一步拓展。代码:/*2016.8.7 Bu原创 2016-08-07 10:48:12 · 478 阅读 · 0 评论 -
(复习)图论--最短路--Floyd算法
作为最短路算法里面最好写的算法真的是当之无愧,代码只有五行,理解起来也十分的简单,时间复杂度O(N^3),适用于数据较小、需要信息较多、稠密图等情况。原创 2016-08-06 09:47:35 · 440 阅读 · 0 评论 -
(复习)图论--最短路--SPFA算法
SPFA算法是求单源最短路径的一种算法,它还有一个重要的功能是判负环(在差分约束系统中会得以体现),在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。 ——(引自百度词条)原创 2016-08-06 09:38:15 · 454 阅读 · 0 评论 -
【HDU 6331】暑期多校day3 Walking Plan (分块 矩阵乘法 × Floyd)
题目大意给定一个 n 个点,m 条边的有向图,q 次询问 u 到 v 经过至少 k 条边的最短路。 (2≤n≤50,1≤m,k≤104,1≤q≤105)(2≤n≤50,1≤m,k≤104,1≤q≤105)(2 \leq n \leq 50 , \quad 1 \leq m,k \leq 10^4, \quad 1 \leq q \leq 10^5)解题思路注意题目中n的范围很小,...原创 2018-08-01 10:48:38 · 247 阅读 · 0 评论