割点, 桥, 点双连通分量, 边双连通分量, 强连通分量 割点, 桥, 点双连通分量, 边双连通分量, 强连通分量这些概念都是原图的一个诱导子图. 割点, 桥, 双连通分量, 边双连通分量是无向图的相关概念, 而强连通分量是有向图的相关概念. $low$ 和 $dfn$ 的求法类似, $dfn[x] ...
分类:
编程语言 时间:
2017-10-10 10:07:00
阅读次数:
278
在有向图中,若两点至少包含一条路径可以到达,则称两个顶点强连通,若任意两个顶点皆如此,则称此图为强联通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。 中间查找过程类似于深度优先搜索和并查集。 代码实现: ...
分类:
编程语言 时间:
2017-10-01 16:59:19
阅读次数:
241
话说昨天练习的时候,有一道题是要求强连通分量预处理的。然而那时我还不知道tarjan算法为何物,于是糊出了如下求强连通分量的算法。(时间复杂度O(n*logn)) 于是用这个算法写了那道题,居然AC了。(那题还要求单源最短路,卡不掉我的O(n*logn)预处理2333) (注:这个辣鸡算法就是用并查 ...
分类:
编程语言 时间:
2017-09-24 20:20:05
阅读次数:
221
今天整个晚自习又基本迷到tarjan里去了(现在还没搞清楚遍历,更新的次序,于是就还没写tarjan算法),看来图论的部分可能这一周能进行完就不错了(不过我每次都高估我自己)。今天有些匆忙,回宿舍还有一堆作业(看来今晚就不用睡了。。。还怎么没看过乌鲁木齐的日出呢。。。)。物理开始了磁场的新章节,虽然 ...
分类:
其他好文 时间:
2017-09-22 01:02:42
阅读次数:
233
这个文章的思路是按照这里来的。 首先来看求割点。割点必须满足去掉其以后,图被分割。tarjan算法考虑了两个: 一,根节点如果有两颗及以上子树,它就是割点。这个应该说是显然的。 二,对于普通的结点a,如果它递归树的子树中,有任意节点b的low[b]<dfn[a],那么它就不是割点,反之则是割点。 我 ...
分类:
其他好文 时间:
2017-09-20 10:22:52
阅读次数:
120
LCA的模板题目,今天才发现自己其实对LCA这个算法一点都没领悟。之前一直是在套模板,所以今天的主要目标就是学习一下tarjan算法求LCA,顺便刷点LCA的相关习题来加强理解~ ...
分类:
其他好文 时间:
2017-09-08 20:42:55
阅读次数:
212
Tarjan之求LCA 不要问我为什么写完Tarjan还要再补一句“求LCA的那个” 因为只说Tarjan的话完全不知道你指的是哪个算法…… 劳模Tarjan同志证明了好多算法,而且全都叫Tarjan算法(是不会起名了吗x) 这个Tarjan是一个求LCA的离线算法 关于什么是在线什么是离线…… “ ...
分类:
其他好文 时间:
2017-09-06 09:54:25
阅读次数:
154
(绘图什么真辛苦) 强连通分量: 在有向图 G 中。若两个顶点相互可达,则称两个顶点强连通(strongly connected)。假设有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图。称为强连通分量(strongly connected components)。比 ...
分类:
编程语言 时间:
2017-08-19 14:14:17
阅读次数:
271
题目1 : 近期公共祖先·二 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 上上回说到,小Hi和小Ho用很拙劣——或者说粗糙的手段山寨出了一个奇妙的站点,这个站点能够计算出某两个人的全部共同祖先中辈分最低的一个是谁。远在美国的他们利用了一些奇异的技术获得了国内很多 ...
分类:
其他好文 时间:
2017-08-16 13:13:40
阅读次数:
170
#include #include #include using namespace std; const int N = 250; int head[N], low[N], dfn[N], fa[N]; int n, m, now = 1, Tarjan_clock; bool is_cut[N]... ...
分类:
编程语言 时间:
2017-08-13 12:30:29
阅读次数:
145