![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最短路
Y390d
这个作者很懒,什么都没留下…
展开
-
HDU 1317 最短路【Floyd+Bellman】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1317 题意:自己本身带100的活力值,每进一个房间就加上这个房间的活力值,判断能否在活力值大于0的情况下走出房间; 思路:首先判断起点和终点是否连通,如果连通就判断是否有正环,如果有正环要判断正环内有没有点能够到达终点,最后判断d【终点】是不是大于0;这里要注意的是,中途如果活力值为0就算失败,所...原创 2018-08-09 13:31:27 · 173 阅读 · 0 评论 -
POJ - 2502 Subway 【最短路】
题目链接:http://poj.org/problem?id=2502 所有点用走路的速度连接,相邻站点用地铁速度连接,跑最短路。 注意输出用 %.0f,取其他精度会WA #include <iostream> #include <cstdio> #include <cstring> #include <vector> #include &...原创 2019-04-01 10:51:12 · 198 阅读 · 0 评论 -
UVA - 11478 Halum 【二分答案+spfa】
题目链接:https://cn.vjudge.net/problem/UVA-11478 这道题有两点收获。 1,stack的spfa的确要比queue的spfa快很多,如果发现queue的spfa超时的话,可以试试用stack。 2,之前的spfa模板给记错了,我以为松弛的次数是边的数目,今天才发现松弛的次数应该是点的数目,在搞错这个的情况下,我用stack就AC了,之前一直T,我是和别人...原创 2019-03-02 16:34:10 · 255 阅读 · 0 评论 -
POJ - 1201 Intervals 【spfa解决差分约束问题】
题目链接:http://poj.org/problem?id=1201 题目的意思是一个序列在数字上满足约束条件,值在a和b之间的数至少出现c个不同的数,输出满足条件的最短长度。 可以先参考下这个博客:https://blog.csdn.net/godleaf/article/details/87907527 首先要注意的是给出的a和b中,a要-1,为什么? 因为 [ a, a ] 可以出...原创 2019-02-25 22:51:29 · 108 阅读 · 0 评论 -
POJ - 3159 Candies 【向前星+dij】
题目链接:http://poj.org/problem?id=3159 差分约束问题,下面把要注意的地方讲下。 首先这道题是卡队列的,如果你用的是spfa,要把queue换成stack才能过,至于为什么就不是很清楚了(可能是因为题目的数据是稠密图,每次队列的插入和删除开销大,和下面要用向前星一样,vector比较适合用来存储稀疏图的边,而稠密图最好用向前星),要么就是dij的堆优化。 如果你...原创 2019-03-01 14:10:14 · 210 阅读 · 1 评论 -
POJ - 3169 Layout 【spfa解决差分约束问题】
题目链接:http://poj.org/problem?id=3169 根据给出的样例,我们能得到下面几个不等式。(d表示离点1的距离) d[2] - d[3] <= 10 d[4] - d[2] <= 20 d[3] - d[2] >= 3 第三个不等式通过移项能得到 d[2] - d[3] <= -3 再来看看spfa的松弛不等式 d[v] > d[...原创 2019-02-24 21:54:33 · 273 阅读 · 0 评论 -
POJ - 2983 Is the Information Reliable 【spfa解决差分约束问题】
题目链接:http://poj.org/problem?id=2983 原理在上篇博客已经讲过了,这里把要注意的讲下。 1,因为差分约束问题都是不等式约束,以不等式为基础给题目建图,但是如果题目给出的约束条件是 d[u] - d[v] == w,怎么处理? w <= d[u] - d[v] <=w,这样就能表示d[u] - d[v] == w这个条件,一条正向正权值,一条反向负...原创 2019-02-28 15:17:11 · 109 阅读 · 0 评论 -
POJ - 3255 Roadblocks 【次短路】
题目链接:http://poj.org/problem?id=3255 如果是求最短路,直接套模板就能AC,但是次短路怎么求。 其实仔细分析一下就能知道,如果我每一个路径都保证是最优的走法,那么得到的就是最短路径,但是如果我有一步走错了,后面又继续走最优的走法,那么得到的路径就会比最短路长,当然如果走错两步,总路径也一定比最短路径长,但是只要我走错之后又继续走最优的走法,那么走错两步的情况一定...原创 2019-02-23 17:41:40 · 136 阅读 · 0 评论 -
第K短路【枚举】(无环情况下)
#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #include<queue> #include<map> #include<stack> #includ原创 2018-09-08 22:27:18 · 210 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛(D-Made In Heaven)A*+SPFA求第K最短路
题目链接:https://nanti.jisuanke.com/t/31445 思路: 第k短路的模板题; #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<cmath> #include<queue> ...原创 2018-09-11 16:56:32 · 122 阅读 · 0 评论 -
FZU 2271 X 【Folyd】
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2271 题意: 保存没删边之前,每个点到其他点的最短路径所用到的所有边,求出没保存的边有几个; 思路:因为两点之间可能会有多条路,所以我们要留下两点之间最短的边,然后删去其他边;之后,在用Folyd去松弛任意两点之间的距离,只要这两个点是存在边的,而且能够松弛成更短的距离,那么原有的那条边就可以删去,这里...原创 2018-08-08 15:06:12 · 193 阅读 · 0 评论 -
HDU 1535 Invitation Cards【Dijkstra的队列优化】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1535 题意:(不知道那个时间是用来干嘛的,想了挺久的,然而可以不用理XD) 从点1开始出发把学生送到各个车站,然后在从各个车站返回到1这个位置,要求花费最短; 思路: 题目的意思就是说,从1开始到各个点之间的最短距离加上各个点到1的最短距离的总和;如果没有时间限制的话就很好求,但是节点和边都是1...原创 2018-08-10 20:57:44 · 157 阅读 · 0 评论 -
POJ 3259 Wormholes 【Bellman判断是否有负环】
题目链接:http://poj.org/problem?id=3259 题意:从给出的点中任意一个点出发,如果存在一个点能在出发过后回到原点并且所花时间小于0的话就输出YES,否则NO; 一开始看错题目了,以为是从第一个点1出发能不能回到原点(如果英文题不用谷歌翻译,战斗力减半 XD) Bellman 和Folyd应该都是可以的,我们换一种问法会比较好解题,如果任意一点出发都不能在所花时间小...原创 2018-08-10 10:16:30 · 212 阅读 · 0 评论 -
poj 3660 Cow Contest 【Floyd判断连通性】
题目链接:http://poj.org/problem?id=3660 题意: 根据任意两头牛对战的情况来判断有几头牛能够确定强弱顺序的; 思路: 这道题难倒是不难,就是题目难理解,这里讲一下样例应该就能明白题意了;我们先根据样例给出的数据画出对应的有向图,数据中是左边的编号一定能打败右边的编号;图画出后,根据传递性继续添加新的边,比如,1能打败2,2能打败4,那么1就一定能打败4;按照这...原创 2018-08-09 15:51:06 · 192 阅读 · 0 评论 -
POJ 1062 昂贵的聘礼 【最短路】
题目链接:http://poj.org/problem?id=1062 假设一个起点0,根据题目给出的权值构图,答案就是从0到1之间的最短路。 这里要注意的是这个等级限制的问题。 首先等级限制不是相邻点之间的限制,而是整体路径的。 等级的限制可以通过假设一个点为最低点求最短路,我假设某个点是最短路中等级最低的,然后求最短路。每枚举一个点就求一次最短路,取最小的值。 因为你枚举的点已经是等...原创 2019-04-01 17:07:54 · 118 阅读 · 0 评论