题目大意:有向图连通图,第一问求至少需要多少个软件才能传输到所有学校,第二问求至少需要增加多少条路使其成为强连通图 题目思路:利用Tarjan算法经行缩点,第一问就是求缩点后入度为0的点的个数(特殊情况,当缩点后仅剩一个点是输出0),第二问就是求缩点后max(入度为0的点的个数,出度为0的点的个数) ...
分类:
Web程序 时间:
2017-03-08 21:23:04
阅读次数:
238
n个点m条边 最少需要几条边变成强连通图 设有a个结点的入读为0, b个结点的出度为0, 则 max{a, b}就是答案。 注意特殊情况: 当原图已经强连通时, 答案是0而不是1. 加一条边少一个入度出度 ...
分类:
移动开发 时间:
2016-11-13 17:06:42
阅读次数:
188
一种由Robert Tarjan提出的求解有向图强连通分量的线性时间的算法。 [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连 ...
分类:
编程语言 时间:
2016-11-13 14:19:29
阅读次数:
146
有关概念: 如果图中两个结点可以相互通达,则称两个结点强连通。 如果有向图G的每两个结点都强连通,称G是一个强连通图。 有向图的极大强连通子图(没有被其他强连通子图包含),称为强连通分量。(这个定义在百科上和别的大神的博客中不太一样,暂且采用百科上的定义) Tarjan算法的功能就是求有向图中的强连 ...
分类:
编程语言 时间:
2016-10-12 16:54:14
阅读次数:
311
http://acm.hdu.edu.cn/showproblem.php?pid=2767 题意:给出n个点m条边,问在m条边的基础上,最小再添加多少条边可以让图变成强连通。思路:强连通分量缩点后找入度为0和出度为0的点,因为在强连通图里面没有一个点的入度和出度都为0,所以取出度为0的点和入度为0 ...
分类:
其他好文 时间:
2016-10-03 18:58:29
阅读次数:
108
http://acm.hdu.edu.cn/showproblem.php?pid=1269 题意:确定是否是一个强连通图。 思路:裸的tarjan算法。 ...
分类:
其他好文 时间:
2016-09-30 15:18:22
阅读次数:
162
http://poj.org/problem?id=1611 题目大意: 有一个学校,有N个学生,编号为0-N-1,现在0号学生感染了非典,凡是和0在一个社团的人就会感染,并且这些人如果还参加了别的社团,他所在的社团照样全部感染,求感染的人数。 解题思路: 并查集的变种,实质就是求0所在的强连通图的 ...
分类:
其他好文 时间:
2016-09-28 22:41:48
阅读次数:
184
主要借助这道比较裸的题来讲一下tarjan这种算法 tarjan是一种求解有向图强连通分量的线性时间的算法。(用dfs来实现) 如果两个顶点可以相互通达,则称两个顶点强连通。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连通分量。 在上面这张有向图中1,2,3, ...
分类:
其他好文 时间:
2016-09-16 21:19:50
阅读次数:
171
有向图强连通分量的Tarjan算法 [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connecte ...
分类:
编程语言 时间:
2016-09-10 20:39:36
阅读次数:
188
这道题和上一道【最受欢迎的牛】差不多,都是强连通分量的练习题; 第一问实际上就是问缩点后入度为0的点有多少,第二问就是问添加几条边能使缩点后的图变成强连通图; 第一问好做,第二问需要动下脑子,也不难; 1 #include<iostream> 2 #include<cstdio> 3 #includ ...
分类:
其他好文 时间:
2016-09-02 13:10:22
阅读次数:
145