【强连通】强连通模板 Tarjan
来源:互联网 发布:问卷收集分析软件 编辑:程序博客网 时间:2024/04/29 06:39
比起双连通的Tarjan我倒是觉得反而简单多了。思想和双连通分量是同一个模式。
#include <cstdio>#include <cstring>#include <cstdlib>#include <stack>using namespace std;const int N = 1e5;int dfn[N], scc_id[N];int deep, scc_cnt;stack <int> s;int dfs(int u){ int lowu = dfn[u] = ++deep; s.push(u); for(int i = head[u]; ~i; i = e[i].next) { int v = e[i].v; if(!dfn[v]) { int lowv = dfs(v); lowu = min(lowu, lowv); } else if(!scc_id[v]) {//连到栈中的还未标号的祖先们 lowu = min(lowu, dfn[v]); }//利用当前scc中的点来更新 } if(lowu == dfn[u]) {//只有最先发现的点满足这个条件 scc_cnt++; while(1) { int x = s.top(); s.pop(); scc_id[x] = scc_cnt; if(x == u) break; } } return lowu;}void tarjan(){ for(int i = 0; i < n; i++) { dfn[i] = scc_id[i] = 0; } deep = scc_cnt = 0; for(int i = 0; i < n; i++) { if(!dfn[i]) dfs(i); }}int main(){ return 0;}
1 0
- 强连通模板(Tarjan)
- 强连通tarjan模板
- 【强连通】强连通模板 Tarjan
- 强连通分量Tarjan模板
- Tarjan强连通分量模板
- hdu1269 Tarjan强连通分量 模板
- hdu 1209 强连通(Tarjan)模板题
- tarjan求强连通分量模板
- 强连通分量-tarjan算法模板详解
- tarjan 求强连通分量模板
- 强连通分量Kosaraju、Tarjan【模板】
- 强连通分量tarjan算法模板
- HDU 1269 强连通模板 Tarjan算法
- 二分图强连通分量 tarjan 模板
- hdu 1269 Tarjan强连通分量 模板
- tarjan算法模板(强连通分量)
- 强连通tarjan模版
- 强连通分量tarjan
- 【BZOJ2626】JZPFAR KDtree
- Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他
- 为 Asp.net 网站新增发送手机短信功能
- SiteMesh使用示例
- spring mail简单邮件发送
- 【强连通】强连通模板 Tarjan
- android 5.0 toolbar 上实现 material tabs
- Unity之CreateGameObjectWithHideFlags-四
- mysql安装图解(mysql-5.0.27-win32.zip)
- android 传感器坐标
- Step By Step(Java 2D图形篇<二>)
- sql起步
- SVN用户及权限配置
- 使用pull解析器操作xml文件