zoukankan      html  css  js  c++  java
  • 模板:强连通分量&2-sat

     1 void Tarjan(int x){
     2     low[x]=ID[x]=++tot;
     3     st[++top]=x;Inst[x]=true;
     4     for(int i=fir[x];i;i=nxt[i])
     5         if(!ID[to[i]]){
     6             Tarjan(to[i]);
     7             low[x]=min(low[x],low[to[i]]);
     8         }
     9         else if(Inst[to[i]])
    10             low[x]=min(low[x],ID[to[i]]);
    11     if(low[x]==ID[x]){
    12         ++scnt;
    13         while(true){
    14             int y=st[top--];
    15             scc[y]=scnt;
    16             Inst[y]=false;
    17             if(x==y)break;
    18         }        
    19     }
    20 }
    21 
    22 bool Check(){
    23     for(int i=0;i<n*2;i++)
    24         if(!ID[i])Tarjan(i);
    25     for(int i=0;i<n;i++)
    26         if(scc[i*2]==scc[i*2+1])
    27             return false;
    28     return true;            
    29 }

     http://blog.csdn.net/qq_24451605/article/details/47126143

  • 相关阅读:
    Redis其他命令
    Redis 键(key)
    Redis数据类型命令
    配置命令 CONFIG
    Redis简介
    idea破解
    jenkins+allure+testng
    Jenkins
    docker镜像
    docker命令
  • 原文地址:https://www.cnblogs.com/TenderRun/p/5634186.html
Copyright © 2011-2022 走看看