强联通模板

原创 2015年11月18日 14:20:07
vector<int> G[maxn];
int pre[maxn],lowlink[maxn],sccno[maxn],dfs_clock,scc_cnt;
stack<int > S;
void dfs(int u) {
    pre[u]=lowlink[u]=++dfs_clock;
    S.push(u);
    for(int i=0;i<G[u].size();i++) {
        int v=G[u][i];
        if(!pre[v]) {
            dfs(v);
            lowlink[u]=min(lowlink[u],lowlink[v]);
        }else if(!sccno[v]) {
            lowlink[u]=min(lowlink[u],pre[v]);
        }
    }
    if(lowlink[u]==pre[u]) {
        scc_cnt++;
        for(;;) {
            int x=S.top(); S.pop();
            sccno[x]=scc_cnt;
            if(x==u) break;
        }
    }
}

void find_scc(int n) {
    dfs_clock=scc_cnt=0;
    memset(sccno,0,sizeof(sccno));
    memset(pre,0,sizeof(pre));
    for(int i=0;i<n;i++) if(!pre[i]) dfs(i);
}

强联通模板 hdu1269

迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub...
  • qq_39813645
  • qq_39813645
  • 2017年08月16日 10:37
  • 68

强联通 tarjan (模板)

struct tarjan { const int maxn=50050; vectorv[maxn]; stackS; int dfn[maxn],low[maxn],viss[maxn];...
  • HHH_go_
  • HHH_go_
  • 2017年10月08日 22:31
  • 86

有向强连通图的Tarjan算法

在做OJ的时候遇到了,要算有向图强连通分量的个数,百度了一下,找到了,Tarjan算法, 看了大神的blog,迅速得解决了OJ问题 文章出处:https://www.byvoid.com/en/bl...
  • zycxnanwang
  • zycxnanwang
  • 2016年09月06日 13:32
  • 1468

有向图求强联通分量

Tarjan算法转自:https://www.byvoid.com/blog/scc-tarjan/有向图强连通分量 在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strong...
  • hzh_0000
  • hzh_0000
  • 2015年07月14日 17:12
  • 755

HDU - 3861 The King’s Problem(强连通分量+最小路径覆盖)

题目大意:给出一张有向图,要求你将这些点进行划分,划分依据如下 1.如果两个点互相可达,那么这两个点必须在一个集合中 2.同一个集合中任意两个点u,v要满足,要么u能到达v,要么v能到达u 3....
  • L123012013048
  • L123012013048
  • 2015年08月15日 00:16
  • 905

Strictly Positive Matrix CodeForces - 402E 强联通分量 模版

题目链接: CodeForces - 402E题目大意给你一个n*n的矩阵, 每个元素>=0, 可以对这个矩阵做任意次方的乘方操作, 求能不能的到一个所有元素>0的矩阵思路将这个矩阵看作图的邻接矩阵,...
  • litmxs
  • litmxs
  • 2017年07月27日 13:49
  • 188

51nod1072 求解一个图里面的强联通分量

给出一个无向图G的顶点V和边E。进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径。(两条路径不经过相同的边) (注,无向图中不存在重边,也就是说确定...
  • liuyanfeier
  • liuyanfeier
  • 2016年05月11日 11:41
  • 541

强联通

include #include #include #include #include #include #include using namespace std; const int maxn=2...
  • qq_36908995
  • qq_36908995
  • 2017年07月18日 12:29
  • 67

tarjan求强联通分量

tarjan求强联通分量变量含义说明:pre[i]:i点的被访问的时钟编号,被分配后保持不变 low[i]:i点能访问的最先的点的时钟编号,随子节点改变 scc_no[i]:i点所在的强联通分量的编号...
  • Frosero
  • Frosero
  • 2015年05月24日 20:37
  • 445

hdu1269有向图强连通分量(tanjar模板)

题目链接迷宫城堡 题意:一个有向图,看任意两点是否liantong tanjar算法:    做一遍dfs,用dfn[i]表示编号为i的结点在DFS过程中的访问序号(也可以叫做开始时间)用Low[i]...
  • pmt123456
  • pmt123456
  • 2016年11月26日 09:22
  • 185
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:强联通模板
举报原因:
原因补充:

(最多只允许输入30个字)