博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
无向图的点双连通分量(tarjan模板)
阅读量:6247 次
发布时间:2019-06-22

本文共 658 字,大约阅读时间需要 2 分钟。

#include
#include
#include
#include
#include
#include
using namespace std;#define maxn 7500#define inf 0x3f3f3f3fint n,m;int g[maxn][maxn];int clock;int low[maxn],pre[maxn];stack
s;int bc;vector
bcc[maxn];int dfs(int u,int fa){ low[u]=pre[u]=++clock; s.push(u); for(int v=1;v<=n;v++){ if(!g[u][v])continue; if(!pre[v]){ int lowv=dfs(v,u); low[u]=min(low[u],lowv); if(lowv>=pre[u]){ bc++; bcc[bc].clear(); int tmp=-1; while(!s.empty()){ tmp=s.top(); s.pop(); bcc[bc].push_back(tmp); if(tmp==u)break; } if(tmp!=-1)s.push(tmp); //割顶要加回去,随意割顶至少是两个不同双联通分量的公共点 } } else if(pre[v]

转载地址:http://mnria.baihongyu.com/

你可能感兴趣的文章
mysql用户管理
查看>>
简单的java自动生产代码工具
查看>>
java-集合
查看>>
RPM 的介绍和应用
查看>>
linux日志轮替
查看>>
12.2总结
查看>>
JavaScript原型(prototype)小记
查看>>
rj-45接口线序
查看>>
【Oracle Database】数据库日志管理
查看>>
在CentOS7上安装MongDB【4.0.0版本】
查看>>
Juniper SRX 240 DY×××用户登录日志
查看>>
入门一班 201801012 管道符
查看>>
Cs6/7笔记01.5、安装Centos6、7
查看>>
开源工具Arena,数据科学家再也不用为Kubernetes犯难啦!
查看>>
JavaScript初学者必看“箭头函数”
查看>>
ffmpeg 使用小记
查看>>
变频电源六大故障及处理方法
查看>>
HBase核心知识点总结
查看>>
朋友圈唯美的心灵鸡汤语录,句句经典入心
查看>>
怎么还原回收站删除的文件?这个操作最实用
查看>>