强连通分量
文章平均质量分 75
令羽
哈尔滨工业大学计算机科学与技术专业,专注于acm算法的学习研究,linux系统的学习,以及编程语言的学习,致力于成为一名技术大牛。
展开
-
有向图强连通分量 Tarjan算法
[有向图强连通分量] 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。 下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是原创 2012-08-15 09:33:09 · 693 阅读 · 0 评论 -
poj 3207 Ikki's Story IV - Panda's Trick 2-sat+建图
/* 2-sat 题意:一个环上有n个点,有m对点之间有连接,连接可以在环内,也可以在环外,问这些连接是否相交 重点还是在建图,每个连接作为一个对象,他有两个状态,在环内,在环外 若两连接相交,则必是一个在环内,一个在环外, 如a、b相交,包含同在环内相交,同在环外相交,则 同在内相交: a在内(a*2),那么b必在外(b*2+1) b在内(b*2),那么a必在外(a*2+1)原创 2012-08-17 14:31:05 · 2629 阅读 · 0 评论 -
POJ 1236 Network of Schools强连通分量缩点
/*相当经典的题目了. 题的描述有点儿长, 我就不想再描述了... 题中的任务A, 其本质就是求这个有向图中所有强连通分量中, 入度为0的个数. 原理还是挺好理解的: 入度不为0的强连通分量, 显然可以由其他强连通分量达到. 也就是说, 要想让所有学校都拿到软件, 需要且只需要从入度为0的那些强连通分量出发即可. 题中的任务B稍微复杂些., 意思是增加多少条边, 可以使整个图变成强连通的. 这时需原创 2013-04-21 17:02:33 · 773 阅读 · 1 评论 -
HOJ2741The Busiest Man 强连通分量+缩点+传递闭包
强连通分量+缩点+传递闭包。有n种物品,现给出m种关系,每种关系a,b对应着物品b能够用物品a来换, 然后有q个询问(a,b),问物品a能不能换到物品b。刚开始是判断两个点是否在一个连通分量里,后来想下 题目有问单向可达即可,判连通分量范围太小,是错的。这题直接搜索也能过。但是如果求传递闭包的话, 直接用floyed超时。可以先缩点,再对新图求传递闭包。这是一类关系问题中的单向连通。是一类有原创 2013-04-20 18:39:57 · 717 阅读 · 0 评论 -
HOJ1520&&POJ2553The Bottom of a Graph强连通分量缩点+判断度数
用的tarjan算法。 找出所有强连通分量,缩点,入度为零的升序输出。 注意输出格式。 链式前向星存图。以后养成用这种方法存图。很不错的说。 #include #include using namespace std; #define maxn 5010 #define maxm 30000 int top;//栈顶位置 int Bcnt;//强连通分量编号 int Index;/原创 2013-04-20 17:57:14 · 701 阅读 · 0 评论