众所周知的,dijkstra是图论算法中求单源最短路的一种简单求法。可能有人会说SPFA比dijkstra要实用,而且可以用于求存在负边权的情况,但是dijkstra有着他的优点——其运行速度上优于SPFA。(PS.需要堆进行优化。)我们先看一道经典(水)题:平面上有n个点(nd[l shl 1+1...
分类:
其他好文 时间:
2015-11-05 23:45:46
阅读次数:
285
Problem DescriptionXiaoY is living in a big city, there are N towns in it and some towns near the sea. All these towns are numbered from 0 to N-1 and ...
分类:
其他好文 时间:
2015-11-04 21:10:34
阅读次数:
289
题目大意:每经过一个地方就要交出相应的货物作为过路费,问将一批货物从起点运到终点,最少需要携带多少货物?题目分析:在每一站交的过路费由当前拥有的货物量来决定,所以,要以终点为源点,求一次单源最短路即可。注意,输出要求路径字典序最小。代码如下:# include# include# include# ...
分类:
其他好文 时间:
2015-10-25 14:53:17
阅读次数:
196
Dijkstra算法用于求解单源最短路径问题。 Dijkstra算法最核心的步骤在于,每次从剩余节点中选取一个节点v加入已访问节点集合的时候,我们便以v为中间节点,查看从源点出发经过v到剩余节点k和不经过v到剩余节点k哪个更短,如果经过v到剩余节点k更短的话,我们需要更新从源点到k的距离值,以...
分类:
编程语言 时间:
2015-10-24 17:03:24
阅读次数:
306
http://218.28.19.228/cogs/problem/problem.php?pid=497我们发现每头牛需要走的路程即为它到x的最短路+x到它的最短路。转化: 于是这道题变成了一道典型的单源最短路问题,只需求出每个点到x的最短路dl,以及从x到此点的最短路d2,然后去找max(dl+...
分类:
其他好文 时间:
2015-10-16 00:53:05
阅读次数:
331
题意:现在有 n 个点与 m 条边的无向无环图,但是图不一定完全连通,边有各自的边权,给出多组询问,查询两点之间的路径权值和,或者输出两点不连通。一开始有最短路的想法,但是由于询问有 1e6 组,做单源最短路肯定会爆炸,而 1e4 的边数又觉得 floyd 时间空间都会炸,又因为是无环图,所以就想到...
分类:
其他好文 时间:
2015-09-22 18:45:24
阅读次数:
203
Dijkstra算法是一个用于计算单源最短路径的算法,也即加权有向图中,找出某一个节点到其他各个节点的最短距离。 1、在n个节点的有向图中,假如要计算A节点到其他所有节点的最短路径,那么我们可以找出A节点能直接到达且权最小的一个节点B,那么该路径即为A节点到B节点的最短路径。原因在于:如果A到...
分类:
其他好文 时间:
2015-09-17 23:25:52
阅读次数:
414
题意:给你一幅图,问有多少条路径使得去掉该条路后最短路发生变化。思路:先起始两点求两遍单源最短路,利用s[u] + t[v] + G[u][v] = dis 找出所有最短路径,构造新图。在新图中找到所有的桥输出就可以了。 1 #include 2 #include 3 #include ...
分类:
其他好文 时间:
2015-09-12 06:17:00
阅读次数:
184
标题效果:一个N积分m无向图边。它可以是路径k右边缘值变0,确定此时1-n最短路径长度。Sol:我以为我们考虑分层图,图复制k+1部分,每间0~k一层。代表在这个时候已经过去“自由边缘”文章编号。层与层之间的边权值为0且为单向由上层指向下层。这样我们以0层的1点做单源最短路径。每一层的n点的距离最小...
分类:
其他好文 时间:
2015-09-11 14:04:16
阅读次数:
133
题意是给一个牧场,牧场当中有好多牧区,每个牧区用一个英文字母表示,大写的字母代表的牧区里各有一头牛,小写的没有,大写Z代表牛吃饭的地方。牛以相同的速度往吃饭的地方走,问哪个牧区的牛先到,并输出这头牛走过距离解法是以Z为起点求一遍单源最短路径。找到里的最近的那个大写字母所代表的那个牧场。/*ID: m...
分类:
其他好文 时间:
2015-09-07 22:32:58
阅读次数:
272