![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tarjan
休伯利安矿工
玄不救非,氪不改命
展开
-
Tarjan求强连通分量
[算法定义]在有向图中,如果两个顶点至少存在一条路径(可以相互通达),则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通有向图的极大强连通子图,称为强连通分量(strongly connected components)。在上图中,{1 , 2 , 3 , 4 } , { 5 } , { 6 } 三个区域...原创 2019-04-22 21:53:18 · 4925 阅读 · 2 评论 -
Tarjan缩点
缩点含义:将一个环缩成一个点,然后把原本环上的点与外界相连的边,接到这个点上面。 就是 tarjan求出的所有强连通分量都变成点,这样有向有环图就变成有向无环图(DAG)。缩点做法:stack栈回溯的时候,环中点的权值都加到最先遍历的点上。 根据回溯时染成的颜色构建新的树。额外知识:将有向有环图变做强连通图 ...原创 2019-04-24 20:40:20 · 1191 阅读 · 0 评论 -
Tarjan割点
[定义]:在无向连通图中,如果将其中一个点以及所有连接该点的边去掉,图就不再连通,那么这个点就叫做割点。在无向连通图中,如果将其中一条边去掉,图就不再连通,那么这条边叫桥。[思想]:割点:1)当前节点u为树根的时候,这个节点要有至少两棵子树,否则去掉该节点不会有影响。 2)当前节点u不是树根的时候,要满足low[v]>=dfn[u],注意u是v的父亲 ...原创 2019-04-25 12:01:23 · 1040 阅读 · 0 评论 -
UVA315
#include<iostream>#include<cstring>#include<algorithm>using namespace std;int n,m,cnt,num;int head[105];int dfn[105];int low[105];int res[105];struct node{ int v; int ne...原创 2019-04-25 14:54:04 · 117 阅读 · 0 评论