原文地址:https://www.byvoid.com/blog/scc-tarjan/ [有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子 ...
分类:
编程语言 时间:
2016-06-20 20:17:45
阅读次数:
187
POJ 3177 Redundant Paths Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12598 Accepted: 5330 Description In order to get from one of the F ...
分类:
编程语言 时间:
2016-06-08 23:01:13
阅读次数:
352
tarjan求割点:cojs 8. 备用交换机 ★★ 输入文件:gd.in 输出文件:gd.out 简单对比时间限制:1 s 内存限制:128 MB n个城市之间有通讯网络,每个城市都有通讯交换机,直接或间接与其它城市连接。因电子设备容易损坏,需给通讯点配备备用交换机。但备用交换机数量有限,不能全部 ...
分类:
编程语言 时间:
2016-06-06 23:43:25
阅读次数:
186
强连通分量:1309. [HAOI2006]受欢迎的牛 ★★ 输入文件:cow.in 输出文件:cow.out 简单对比时间限制:1 s 内存限制:128 MB 【题目描述】 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛 A 认为牛 B受欢迎。这种关系是具有传 ...
分类:
编程语言 时间:
2016-06-06 23:21:32
阅读次数:
157
题目链接:http://poj.org/problem?id=3180 题目大意:求一个有向图的强连通分量 算法:求强连通分量首选tarjan算法 这里简单说一下tarjan的思路 时间戳是什么:在搜索时访问的最早时间 维护dfn[u]表示u的时间戳 low[u]表示u点所能回到的最早的祖先的时间戳 ...
分类:
其他好文 时间:
2016-06-04 20:48:40
阅读次数:
174
这个题目网上有很多答案,代码也很像,不排除我的。大家的思路应该都是taijan求出割边,然后找两个点的LCA(最近公共祖先),这两个点和LCA以及其他点构成了一个环,我们判断这个环上的割边有几条,我们的答案就少几个。 有人问,这个题重边怎么办呢,重边肯定不是桥啊。额……对于这个我只能说,这个题的原始 ...
分类:
编程语言 时间:
2016-05-31 22:10:09
阅读次数:
196
给出一棵家谱树,树中的节点都有一个名字,保证每个名字都是唯一的,然后进行若干次查询,找出两个名字的最近公共祖先。 题目链接最近公共祖先 分析 数据量大,根据题目提示,采用Tarjan + 并查集算法,进行离线LCA查询操作。即先将所有的查询存储下来,然后统一DFS遍历一遍家族树,在遍历的过程中对遍历 ...
分类:
其他好文 时间:
2016-05-29 19:58:52
阅读次数:
243
题目链接:传送门 题目大意:给你一副无向图,问至少加多少条边使图成为边双联通图 题目思路:tarjan算法+缩点(如果已经是双连通图就直接输出0) ...
分类:
其他好文 时间:
2016-05-25 21:56:44
阅读次数:
206
首先剔除所有从$R$不可到达的点,然后用Lengauer-Tarjan算法建立出以$R$为起点的Dominator Tree。 那么对于每个询问,求出那些点的父亲的LCA,那么答案就是LCA到根路径上点权的最小值。 时间复杂度$O(t\log n)$。 ...
分类:
其他好文 时间:
2016-05-25 14:58:25
阅读次数:
180