Tarjan算法详解 【概念】 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components) ...
分类:
编程语言 时间:
2016-03-31 00:17:56
阅读次数:
258
来自博客:http://www.cnblogs.com/saltless/archive/2010/11/08/1871430.html 求强连通分量的Tarjan算法 说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。而提出此算法的普林斯顿大 ...
分类:
其他好文 时间:
2016-03-29 21:14:22
阅读次数:
164
Tarjan离线算法,相当于就是把整个树给DFS了一遍。DFS的同时,处理关于当前节点的询问。复杂度就是:O(n + q),n为总结点数,q为询问结点对数。 具体是怎么一回事呢。 看一下这个画个图理解一下就好了。 是的,感觉看完这个之后什么都记起来了。
分类:
其他好文 时间:
2016-03-21 20:08:42
阅读次数:
297
题目: 题意: 给了一个联通无向图,现在问去掉某个点,会让图变成几个联通块? 输出的按分出的从多到小,若相等,输出标号从小到大。输出M个。 分析: BCC求割点后联通块数量,Tarjan算法。 联通块的数目在找到一个low[y]>=dfn[x]时累加,最后加一即可。 代码如下: 2016-03-17
分类:
移动开发 时间:
2016-03-17 14:41:33
阅读次数:
333
【题目大意】 煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的工人都有一条道路通向救援出口。请写一个程序,用来计算至少需要设置几个救援出口,以
分类:
其他好文 时间:
2016-03-15 23:22:02
阅读次数:
288
题目链接:http://poj.org/problem?id=3694 题意是给你一个无向图n个点,m条边,将m条边连接起来之后形成一个图,有Q个询问,问将u和v连接起来后图中还有多少个桥。 首先用tarjan标记点的low和dfn值,那么u和v相连的边是桥的条件是dfn[u] < low[v](说
分类:
Web程序 时间:
2016-03-11 22:17:41
阅读次数:
362
题目链接:http://poj.org/problem?id=3177 题目大意是一个无向图给你n个点m条边,让你求出最少加多少条边 可以让任意两个点相通两条及以上的路线(每条路线点可以重复,但是每条路径上不能有重边),简单来说就是让你加最少的边使这个图变成一个双连通图。 首先用tarjan来缩点,
分类:
其他好文 时间:
2016-03-10 22:05:58
阅读次数:
279
Description 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。 Input 第一行两个数N,M。
分类:
其他好文 时间:
2016-03-07 22:26:43
阅读次数:
221
http://poj.org/problem?id=3710 (说实话对于Tarjan算法在搞图论的时候就没搞太懂,以后得找时间深入了解) (以下有关无向图删边游戏的资料来自论文贾志豪《组合游戏略述——浅谈SG游戏的若干拓展及变形》) 首先,对于无向图的删边游戏有如下定理性质: 1.(Fushion...
分类:
其他好文 时间:
2016-03-07 06:43:53
阅读次数:
176