题目链接: 点击打开链接
题意:
给定一个有向图,求:
1) 至少要选几个顶点,才能做到从这些顶点出发,可以到达全部顶点
2) 至少要加多少条边,才能使得从任何一个顶点出发,都能到达全部顶点
顶点数
求完强连通分量后,缩点,计算每个点的入度,出度。
第一问的答案就是入度为零的点的个数,
第二问就是max(n,m) // 入度为零的个数为n, 出度为...
分类:
Web程序 时间:
2014-08-04 18:05:17
阅读次数:
290
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4781
题意:给你两个数,n代表顶点个数,m代表边数,要你建一个图,要求:
1. 有向图,且两个点之间最多只有一条边。
2. 边的权值大小为1~m,每个值只能用一次。
3. 任意一个点都可以到达其余各个顶点。
4. 任意一个环的边上权值之和是3的倍数。
5. 不存在自身环。
思路:先从...
分类:
其他好文 时间:
2014-08-04 17:45:57
阅读次数:
254
hdu1269 迷宫城堡
验证给出的有向图是不是强连通图。。。
Tarjan算法板子题
Tarjan算法的基础是DFS,对于每个节点、每条边都搜索一次,时间复杂度为O(V+E)。
算法步骤:
1、搜索到某一个点时,将该点的Low值标上时间戳,然后将自己作为所在强连通分量的根节点(就是赋值Dfn=Low=time)
2、将该点压入栈。
3、当点p有与点p’相连时...
分类:
其他好文 时间:
2014-08-03 23:22:56
阅读次数:
283
思路:先缩点成有向无环图,则必然含有出度为0的点/入度为0的点,因为要使添加的边尽量多,最多最多也就n*(n-1)条减去原来的m条边,这样是一个强连通图,问题转化为最少去掉几条,使图不强连通,原来图中入度的点,若不添加入度,则必然不连通,同理出度为0的也一样,所以,找入度/出度为0的点中, ki(n-ki)最小的,这里KI是缩点后该SCC中的点数量,这个结果就是最小去掉的边数了。
思路清晰,1...
分类:
其他好文 时间:
2014-08-03 12:52:25
阅读次数:
202
拓扑排序
在实际应用中,有向图的边可以看做是顶点之间制约关系的描述。把顶点看作是一个个任务,则对于有向边表明任务Vj的完成需等到任务Vi完成之后,也就是说任务Vi先于任务Vj完成。对于一个有向图,找出一个顶点序列,且序列满足:若顶点Vi和Vj之间有一条边,则在此序列中顶点Vi必在顶点Vj之前。这样的一个序列就称为有向图的拓扑序列(topological order)。
步骤
从有向图中选取一个没有前驱(入度为0)的顶点输出。
删除图中所有以它为起点的弧。...
分类:
其他好文 时间:
2014-08-03 01:46:24
阅读次数:
492
from byvoid[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected compon...
分类:
其他好文 时间:
2014-08-02 20:47:14
阅读次数:
289
如图,求V0到其他顶点的最短路径及其长度,
废话少说,用Dijkstra算法。我在《数据结构(C语言版)》里面的代码的基础上写了一个直接保存路径的版本。看代码,
#include
#include
using namespace std;
#define MAXINT 1000000
// src -- 为源节点
// g[][] -- 有向图的邻接矩阵
//...
分类:
其他好文 时间:
2014-08-02 18:31:54
阅读次数:
321
图的遍历是指从图中的某一顶点出发,按照一定的策略访问图中的每一个顶点。当然,每个顶点有且只能被访问一次。
在图的遍历中,深度优先和广度优先是最常使用的两种遍历方式。这两种遍历方式对无向图和有向图都是适用的,并且都是从指定的顶点开始遍历的。先看下两种遍历方式的遍历规则:
深度优先
深度优先遍历也叫深度优先搜索(Depth First Search)。它的遍历规则:不断地沿着顶点的深度方向遍历。顶点的深度方向是指它的邻接点方向。...
分类:
其他好文 时间:
2014-08-02 12:53:33
阅读次数:
266
题目来源:http://poj.org/problem?id=1511 题目很长,花了不少时间才理解题意,目的就是为了求出来回两次最小路径(即为本题的差旅费)之和,第一次从CCS(1)出发到各个点路径最小,SPFA算法没得说,回来时终点是确定的都是CCS(1),相当于把路径反过来,即把有向图去反方....
分类:
其他好文 时间:
2014-08-01 23:02:12
阅读次数:
277
题目来源:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1256 一个完全单向的有向图,最少更改多少条边能够从1到N。把原有的边的权值设为0,换方向的边的权值设为1。简历邻接表。add_edge(u,v,0);add_edge(v,u,0);采用....
分类:
其他好文 时间:
2014-08-01 22:57:32
阅读次数:
204