暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。...
分类:
其他好文 时间:
2014-06-08 18:25:11
阅读次数:
282
POJ 2391 Ombrophobic Bovines (二分,最短路径,网络流(sap,dinic,预留推进) )
题目大意:
有n头奶牛及牛棚,以及m条边,接下来告诉你n行,每行表示这个牛棚奶牛实际数目,以及能容纳的数目,接下来m行告诉你奶牛从一个牛棚到另一个牛棚所需要的时间,问你,是否所有奶牛能够到达牛棚,如果不能,输出-1,如果能,输出最短时间。
解题思路:
这种最短时间,想到了二分,是否能到达,想到了最短路径,是否能全部容纳,想到了构建一张网络图,来解决。
这题采用了三种网络流解法,sap...
分类:
其他好文 时间:
2014-06-08 15:31:12
阅读次数:
335
题意:轨道网,有若干转换器,每个转换器都和其他若干转换器相连,转换器初始指向第一个与其相连的转换器。问要到达终点需要最少转换多少次?
思路:可以用dijkstra单源最短路来做,把轨道网看做有向图(因为1第一个指向2,2的第一个不一定指向1),当前转换器处始指向的那个转换器之间的路径权值为0,其他路径权值为1,求一次起点到终点的最短路,结果就是最少转换次数,注意可能没有路径,这时要输出-1
代...
分类:
其他好文 时间:
2014-06-07 02:07:18
阅读次数:
226
最短路径的O(ElgV)的解法。
使用邻接表存储图,使用堆操作选取下一个最小路径点。
本题的难度并不在最短路径本身这个算法,而是在于堆的操作:
1 使用双重指针操作堆的节点,可以省去直接复制操作堆节点,提高效率,并且这才是有效操作动态地址数据的方法,不用双重指针,我思考了下,觉得更加不好做。
2 使用一个数组记录当前顶点在堆中的位置,相当于一个hash表了,可以需要的时候,直接从表中查找表...
分类:
其他好文 时间:
2014-06-07 02:03:17
阅读次数:
214
最短路条数:
求一个图一共一几条最短路径,思路:先从终点跑一边最短路,记录终点到到所有点最短距离(d【i】),然后从起点出发,dfs 按d[i]走(必是最短路径),一句话:我到终点的最短路条数=我的所有孩子到终点的最短路条数之和,这样只需一遍即可。这不知道是不是叫记忆化搜索?
边不可重复最短路径条数:(最短路+建新图之最大流)
hdu3599题意:求1-->n最短路条数,所有路径边不可重复。思路:边不可重复??!!转为流量的为1 的话,求最大流啊(以后切记该方法,不可重复问题...
分类:
其他好文 时间:
2014-06-05 09:36:43
阅读次数:
237
裸dijkstra
思路:以x为源点,求到其他点的最短路,之后把邻接矩阵转置,再求一次x源
点的最短路,这样就一次是来的,一次是走的,相加迭代最大值即可
代码:
/*
poj 3268
8108K 47MS
*/
#include
#include
#define MAXN 1005
#define MAX_INT 2147483647
using namespace s...
分类:
其他好文 时间:
2014-06-04 23:32:57
阅读次数:
303
算法简介前面介绍过图的单源最短路径算法Dijkstra算法,然而Dijkstra算法无法判断含负权边的图的最短路。如果遇到负权,在没有负权回路存在时(负权回路的含义是,回路的权值和为负。)即便有负权的边,也可以采用Bellman-Ford算法正确求出最短路径。
Bellman-Ford算法能在更普遍...
分类:
其他好文 时间:
2014-06-02 21:40:00
阅读次数:
454
题目大意: 给你一个由“#” 、“.”、“S”、“E” .构成的图,
“#”代表墙不可穿越,“.”代表空白,“S”代表起点,“E”代表重点,问你分别沿着左边走和右边走和最短路径各多少步。
即使这样说,题目还是不太明确,题意还是看不懂,下面简单介绍下具体的走法。 拿第一组测试数据为例子: ###...
分类:
其他好文 时间:
2014-06-02 09:20:12
阅读次数:
599
http://acm.hdu.edu.cn/showproblem.php?pid=3790有两个条件:距离和花费。首先要求距离最短,距离相等的条件下花费最小。dijkstra,仅仅是在推断条件时多考虑了花费。注意重边。#include
#include #include #include #inc...
分类:
其他好文 时间:
2014-06-02 08:33:36
阅读次数:
326
题意:所给数据中是否有负环? 没有负环的图中所有路径中最短的值思路:1. bellmanford
判断负环2.flodyWarshall 求所有定点的最短路径细节:1. bellmanford 算法时间复杂度为 o(n^3), 因为图的使用邻接矩阵存储的,
使用邻接表代码会容易理解些, 引用 wik...
分类:
其他好文 时间:
2014-05-29 20:41:30
阅读次数:
237