算法思想:如果存在最小环,会在编号最大的点u更新最短路径前找到这个环,发现的方法是,更新最短路径前,遍历i,j点对,一定会发现某对i到j的最短路径长度dis[i][j]+mp[j][u]+mp[u][i]
!= INF,这时i,j是图中挨着u的两个点,因为在之前最短路更新过程中,u没有参与更新,所以...
分类:
其他好文 时间:
2014-06-12 06:52:57
阅读次数:
505
本文出自:http://blog.csdn.net/svitter
题目4:二叉树
给出一颗无线的二叉树。树的每一个结点用一整数对标识。二叉树构造如下
树根被标识为(1, 1);
如果一个结点被标识为(a, b), 则其左孩子被标识为(a+b,b),右孩子被标识为(a, a+b)。现在给出某一结点(a, b),求树根到该结点的最短路径,并且同时求出从树根出发向左走和向右走的次数。建...
分类:
其他好文 时间:
2014-06-11 00:33:16
阅读次数:
343
问题描述:给定一个迷宫和一个起点一个终点,求起点到终点的最短路径长度。Sample
Input(说明:5行5列的迷宫,‘#’为墙,‘.’为路,起点为(0,3), 终点为(4,4))Sample
Output11(若不可达输出-1)解答:用BFS的方法,借助一个队列实现。 1 #include 2 #...
分类:
其他好文 时间:
2014-06-10 09:18:08
阅读次数:
258
图文并茂。Dijkstra算法求某一个源点到其余各顶点时间复杂度是O(n^2),但如果采用此算法,找从某一源点到某一特定终点的最短路径,复杂度仍为O(n^2)。
求每一对顶点之间的最短路径:
(1)每次以一个顶点为源点,重复执行Dijkstra算法n次。总的时间复杂度是O(n^3);
(2)弗洛伊德(Floyd)算法:时间复杂度也是O(n^3),但形式上更简单。...
分类:
其他好文 时间:
2014-06-10 07:03:14
阅读次数:
279
本文简单描述了Dijkstra(迪杰斯特拉)算法,结合一个实例进行了算法流程描述,给出了C语言的算法实现。另外给了两个直接应用Dijkstra算法求解ACM题的链接。...
分类:
其他好文 时间:
2014-06-10 06:26:20
阅读次数:
307
Dijkstra算法树解决有向图G=(V,E)上带权的单源最短路径问题,但是要求所有边的权值非负。解题思路:
V表示有向图的所有顶点集合,S表示那么一些顶点结合,从源点s到该集合中的顶点的最终最短路径的权值(程序中用dist[i]表示)已经确定。算法反复选择具有最短路径估计的顶点u
属于 V-S(....
分类:
其他好文 时间:
2014-06-08 20:50:43
阅读次数:
219
暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。...
分类:
其他好文 时间:
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
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
mapmymap;
map::iterator it;
#define LEN 1111
bool visited[LEN];
//bool arc[LEN][LEN];
vector arc[5...
分类:
其他好文 时间:
2014-06-02 07:07:58
阅读次数:
205