https://www.luogu.com.cn/problem/P2865 https://loj.ac/problem/10076 求 $1$ 到 \(n\) 的严格次短路 考虑使用 dij 记录两个数组,dis[u],dis2[u] 分别表示 $1$ 到 \(u\) 的最短路,严格次短路 更新 ...
分类:
数据库 时间:
2020-07-24 16:10:11
阅读次数:
69
次短路 第K短路【dijkstra、A*】P2865 [USACO06NOV]Roadblocks G ...
分类:
其他好文 时间:
2020-06-16 13:18:28
阅读次数:
59
##次短路 #####(一) 从$u$(父节点)到$v$(子节点)次短路直接更新(通常在最短路已经确定的情况下才进行直接更新次短路) 从$u$(父节点)到$v$(子节点)最短路不更新,但是距离比次短路距离小,更新次短路 从$u$(父节点)到$v$(子节点)最短路更新,原来的最短路就成了次短路 数组$ ...
分类:
编程语言 时间:
2020-06-14 16:38:23
阅读次数:
68
题目大意 给出一个有向图(可能存在重边),求从$S$到$F$最短路的条数,如果次短路的长度仅比最短路的长度多1,那么再加上次短路的条数。 输入格式 第一行是数据组数$T$。 对于魅族数据,第一行是$n$和$m$,表示节点数和边数。 接下来$m$行,每行三个整数$a$,$b$,$l$,表示$a\rig ...
分类:
其他好文 时间:
2020-05-25 12:23:49
阅读次数:
48
分析 一个图论题,其实没什么特别难的点。 ~~英文题首先我们要读懂题意~~ 这道题大意就是求最短路的条数,如果次短路和最短路只差1,那么也把次短路的条数加上。 求最短路应该都会求,一个Dij就完了,那么条数怎么办。 之前也做过类似的题,如果要更新最短路,那么更新完最短路后,次短路就会更新为原来的最短 ...
分类:
其他好文 时间:
2020-05-24 11:51:05
阅读次数:
43
前言 算法竞赛进阶指南图论习题。慢慢刷。 Sightseeing 这个题求最短路以及比最短路大1的路的条数。关键是次短路如何构成。分析可以发现一个点的次短路一定为相邻点次短路或者最短路构成。所以dijkstra维护最短路和次短路即可。 #include<cstdio> #include<cstrin ...
分类:
编程语言 时间:
2020-03-11 15:41:55
阅读次数:
82
1.次短路问题 次短路问题和最短路问题类似,我们可以想到次短路由什么转移而来?对于当前一个点,其次短路只可能由两种情况转移而来: c++ include using namespace std; const int inf=0x3f3f3f3f; const int maxn=1e5+10; int ...
分类:
其他好文 时间:
2020-02-02 15:51:07
阅读次数:
53
"Roadblocks" 该题的难点在于求次短路,而次短路的求法与最短路基本一致,更新的方式就是当当前权重比最短路大且比次短路小的时候就更新它,如果它比最短路小,那么就把它和最短路交换一下 关键代码: 代码: ...
分类:
数据库 时间:
2020-01-18 18:06:29
阅读次数:
159
安全路径 题意 Solution 嗯,首先既然不能经过最后一条边,那么我们考虑建出一个最短路树 然后非树边$u,v,w$,只能影响到$u v$这个路径上的点,因为只能往回跑 那么考虑怎么更新。一个显然的办法就是把边按照某种顺序排列,然后用并查集标记一下哪个点访问过了,可以做到$O(n)$ 那么按照什 ...
分类:
其他好文 时间:
2019-10-30 22:33:39
阅读次数:
121
USACO的快乐农场题目 "题目大意" 求结点1到n的严格次次短路径。 因为不久前刚刚看过了 "最短路计数" 这道题目,所以就想在求最短路的时候,用dis数组记录最短路和次短路,然后就愉快的打完了代码,过了样例,然后50…… 下面是50分代码 然后,我重新想了想我在求最短路的时候的判断,发现50这个 ...
分类:
数据库 时间:
2019-10-13 20:34:15
阅读次数:
113