最短路
Self-Discipline
在校大学生
展开
-
HDU 5137 How Many Maos Does the Guanxi Worth(枚举+最短路径)
题目:点击打开链接 题意:给出一个无向图n个点m条边,断开其中的除了1和n之外的其中一个点的所有边,让最短路最长。思路:依次枚举除了1和n之外的其中一个点的所有边的最短路的结果,并且求出最大值。代码:#include<iostream>#include<cstring>#include<algorithm>using namespac...原创 2017-08-30 21:32:24 · 224 阅读 · 0 评论 -
POJ3613 Cow Relays(矩阵乘法floyd+快速幂)
题意:给出一张无向连通图,求S到E经过k条边的最短路。分析:居然和矩阵快速幂联系起来了,详见《算法竞赛进阶指南》P363。代码:#include <map>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using ...原创 2019-07-29 23:13:02 · 180 阅读 · 0 评论 -
poj 1734(无向图的最小环)
题意:n个点,m条边的加权无向图,求其中的最小环,并输出路径。分析:考察对Floyd的理解,详见《算法竞赛进阶指南》P361-362,书中也提到了有向图最小环的解法。代码:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#incl...原创 2019-07-29 22:54:22 · 246 阅读 · 0 评论 -
POJ1094 Sorting It All Out(拓扑排序 or Floyd)
题意:对于N个大写字母,给定它们的一些偏序关系,要求判断出经过多少个偏序关系之后可以确定它们的排序或者存在冲突,或者所有的偏序关系用上之后依旧无法确定唯一的排序。分析:拓扑排序模板题,发现也可以用最短路Floyd算法解决,详见《算法竞赛进阶指南》P360。代码:#include <cstdio>#include <cstring>#include <...原创 2019-07-29 21:53:27 · 248 阅读 · 0 评论 -
CH6101/洛谷P1073 最优贸易(最短路)
题意:从图上找到一条从1到n的路径,使路径上能选出两个点p,q(先经过p后经过q),并且“节点q的权值减去节点p的权值”最大。分析:因为要考虑两个点先后顺序,可以采用建反图的方法。详见《算法竞赛进阶指南》P357。代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5 + 6, M = 1e6 +...原创 2019-07-29 21:22:48 · 164 阅读 · 0 评论 -
POJ3662 Telephone Lines(二分+最短路)
题意:求一条路径从1到n使第k+1大的边最小。分析:双端队列BFS,详见《算法竞赛进阶指南》P356、P120。代码:#include <deque>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using nam...原创 2019-07-29 20:44:39 · 130 阅读 · 0 评论 -
UVA10806 Dijkstra, Dijkstra. 最小费用最大流
题意:一个无向图,每条边只能走一次,求1到n往返的最短距离,走不到就输出Back to jail。分析:每条边流量为1,费用为边权,双向边。建立源点,源点到1的流量为2,费用为0,表示进入2个流量,保证最大流不超过2,然后求源点到n的费用流,如果到源点到n的流量不是2的话,说明不通。如果流量是2的话,输出到n点的费用。其实最短路本身就是个流量为1的费用流。(一开始就在想最短路一次,然后去掉走过...原创 2019-06-07 10:42:09 · 230 阅读 · 0 评论 -
POJ 1511 Invitation Cards
题目:点击打开链接题意:有向图,求从起点1到每个点的最短路然后再回到起点1的最短路之和。(保证有解)分析:开始用SPFA+vectorTLE了,改成前向星就过了。图上没有负环最好还是用堆优化后的dijkstra。AC代码(前向星):#pragma comment(linker, "/STACK:102400000,102400000")///#include<unordere...原创 2018-10-14 13:19:10 · 124 阅读 · 0 评论 -
SPFA模板(vector版本)
入门参考https://www.cnblogs.com/bofengyu/p/5004398.html。#pragma comment(linker, "/STACK:102400000,102400000")#include<unordered_map>#include<unordered_set>#include<algorithm>#incl...原创 2018-10-14 13:13:03 · 495 阅读 · 0 评论 -
Bellman-Ford算法模板(以POj 3259为例)
题目:点击打开链接题意:题目的大意是有F个农场(F组输入数据),每个农场有N个牧场,M条双向路径,W个虫洞,虫洞是单向的,可以实现时间旅行,返回到以前某个时间。问从某个牧场出发,经过若干路径和虫洞,能不能在自己没有离开出发地时回到出发地,见到自己。分析:其实就是判断是不是存在负环,用Bellman-Ford算法求就可以了。 当图中存在负权环时,就能够在出发之前回到出发地,见着自己,将虫洞的权值...原创 2018-10-13 13:57:41 · 256 阅读 · 0 评论 -
牛客国庆集训派对Day6 J-最短路
题目:点击打开链接题意:略。分析:(lca+100次最短路)先把题目给的边存起来,先取n-1个边(不能有环)构成生成树,然后求lca,对于漏掉的边u<-->v,假设x到y的最短路不走这条边,那么其最短路有可能是lca的距离,假设走这条边,必走u,那么我先求出起点为u到所有点的最短路,x到y的距离就是min(lca , d[u][x]+d[u][y])。(不明白的可以画个草图)由于边...原创 2018-10-17 22:22:14 · 241 阅读 · 0 评论 -
牛客国庆集训派对Day3 I Metropolis
题目:点击打开链接题意:略。分析:多源点最短路,只要两个不同源点的最短路相遇,我们就更新两个源点的答案。代码:#pragma comment(linker, "/STACK:102400000,102400000")#include<unordered_map>#include<unordered_set>#include<algorithm>...原创 2018-10-11 17:07:43 · 175 阅读 · 0 评论 -
堆优化后的dijkstra算法模板(以hdu2544为例)
vector实现版,优点是代码量较少,缺点是常数较大。#pragma comment(linker, "/STACK:102400000,102400000")#include<unordered_map>#include<unordered_set>#include<algorithm>#include<iostream>#incl...原创 2018-10-11 16:00:44 · 509 阅读 · 0 评论 -
CSU 2005 Nearest Maintenance Point
题目:点击打开链接题意:给一个n个节点m条边的带权无向图,给出s个援助节点,有q个询问,每次问一个节点周边最短距离的援助节点有哪些。分析:多源点最短路,最短路的变形,使用堆优化的dijkstra算法,把s个援助节点当起点(假设有一个超级原点,和s个援助节点有距离为0的边,就化简成了单源最短路模型),搜到所有节点的最短路,用bitset的位运算传递状态,如果有多个起点的某个节点的最短距离相同...原创 2018-10-11 15:29:04 · 160 阅读 · 0 评论 -
最短路总结(题目合集)
1、HDU 6670 Mindis(建图+最短路)题意:Description平面上有 n 个矩形,矩形的边平行于坐标轴,现在度度熊需要操控一名角色从 A 点走到 B 点。该角色可以上下左右移动,在恰被 k 个矩形覆盖的区域,该角色的速率为 k+1 个距离/秒(矩形覆盖区域包括边界)。请求出 A 移动到 B 最快需要多少秒。Input第一行一个整数 T (1≤T≤5) 表示...原创 2019-08-21 12:37:26 · 997 阅读 · 0 评论