很好的参考资料:http://taop.marchtea.com/04.04.html 下面的配图和部分文字转载于此文章
离线算法就是指统一输入后再统一输出,而不是边输入边实时输出。Tarjan算法的复杂度为O(N+Q),Q为询问的次数.
由于是离线算法,所以要保存输入的信息,次序问题。
若两个结点u、v分别分布于某节点t 的左右子树,那么此节点 t即为u和v的最近公共祖先。更进...
分类:
编程语言 时间:
2014-12-09 21:27:58
阅读次数:
366
记录自己的想法:在有向图中,如果一些顶点中任意两个顶点都能互相到达(间接或直接),那么这些顶点就构成了一个强连通分量,如果一个顶点没有出度,即它不能到达其他任何顶点,那么该顶点自己就是一个强连通分量。在用kosaraju算法和Tarjan算法求强连通分量的时候,就是给所有的顶点分组染色,同一种颜色的顶点在同一个强连通分量中,记录有多少种颜色(有多少个强联通分量),每个顶点属于哪种颜色(每个顶点在哪...
分类:
编程语言 时间:
2014-12-09 10:38:36
阅读次数:
286
迷宫城堡
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8099 Accepted Submission(s): 3623
Problem Description
为了训练小希的方向感,Gardon建立了...
分类:
移动开发 时间:
2014-12-04 06:28:08
阅读次数:
195
感觉挺有趣的,就谢了已发,其实就是判断这个有向图是否两两连通。。。。。
解释就是这个博客上的tarjan算法
我实现后代码如下。。。
#include
#include
#include
#include
#include
using namespace std;
#define N 10005
stacksta;
vectormp[N];
int dfn[N];
int lo...
分类:
其他好文 时间:
2014-12-03 14:19:06
阅读次数:
173
烦。。早上在写HDU 4338,发现细节太多了,写不了。原因其实是自己对TARJAN算法忘得差不多了。唉。。把之前想的一道循环节的题过了吧。。。再练练Tarjan,把4338也过了,加油。。。#include #include #include using namespace std;char s[...
分类:
其他好文 时间:
2014-11-30 13:55:34
阅读次数:
135
http://poj.org/problem?id=1236第一问:需要几个学校存在软件,才能通过传递,使得所有的学校都有软件 用tarjan算法求出强联通分量后,将每个联通分量缩成一个点,那么问题1的答案就是入度为0的点的个数 为什么?入度为0的点,肯定不能通过其他学校传送软件给他,所以他必须存在...
分类:
移动开发 时间:
2014-11-21 09:04:11
阅读次数:
145
本文转载自:http://blog.csdn.net/xinghongduo/article/details/6195337 说到以Tarjan命名的算法,我们经常提到的有3个,其中就包括本文所介绍的求强连通分量的Tarjan算法。而提出此算法的普林斯顿大学的Robert E Tarjan教...
分类:
编程语言 时间:
2014-11-15 14:05:55
阅读次数:
176
题意:根目录能一次到达其任意子目录,子目录返回上一层目录需要一次,给出目录关系,问从某个目录到某个目录最少要多少步。操作数 ,就是起点到最近公共祖先的距离。然后讨论下,如果最近公共祖先等于终点,那么答案就是起点到祖先的高度差 ,否则就是高度差加一 。#include#include#include#...
分类:
其他好文 时间:
2014-11-08 16:42:03
阅读次数:
239
实测查询量大概是25W左右,离线搞比较快.#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;c...
分类:
其他好文 时间:
2014-11-07 16:28:51
阅读次数:
174
题目:ZOJ Problem Set - 3195 Design the city
题意:给出一个图,求三点的连起来的距离。
分析:分别求出三点中任意两点的距离 / 2 = ans
AC代码:
#include
#include
#include
#include
using namespace std;
#define N 50010
#define M...
分类:
其他好文 时间:
2014-11-06 20:09:26
阅读次数:
129