2013年3月26日
摘要: 题目链接。分析:请参考本文章。AC代码(输出的顺序不唯一):#include <stdio.h>#include <string.h>#include <stdlib.h>#define MAXN 102#define min(x, y) ((x)<(y)?(x):(y))const int INF = (1<<24);int G[MAXN][MAXN], dis[MAXN][MAXN], pre[MAXN][MAXN], path[MAXN];int n, m, min_cost, cnt;void floyd(){ int i, j, 阅读全文
posted @ 2013-03-26 15:10 Still_Raining 阅读(206) 评论(0) 推荐(0)
摘要: 1 定义:通常来说最小环是针对有向图而言从一个点出发,经过一条简单路径回到起点成为环.图的最小环就是所有环中长度最小的.2.怎样求最小环呢?1传统的解决方法(dijkstra): 任意一个环的权值,我们都可以看成两个有边相连的结点i、j的直接距离加上i、j间不包含边(边i->j)的最短路径。求最短路径我们第一个想到的就是Dijkstra算法。而Dijkstra所求的是一个点到所有点的最短距离。用Dijkstra所求的i、j的最短距离一定是i、j的直接距离(如果i,j连通),所以我们需要先将i、j的边从图中删除(若i,j不连通,则不用删除),再用Dijkstra求新图中i、j的最短距离即可 阅读全文
posted @ 2013-03-26 15:05 Still_Raining 阅读(291) 评论(0) 推荐(0)