Tarjan无向图连通性
割点:去掉某点x,该无向图分割成两部分(及以上)
割边:去掉某条边x,该无向图分割成两部分(及以上)
时间戳:在搜索树上的遍历序号dfn
追溯值:subtree子树和非搜索树上可达的最小点
割边和割点判定
1 void tarjan(int x, int in_edge) { 2 dfn[x] = low[x] = ++num; 3 for (int i = head[x]; i; i = nex[i]) { 4 int y = ver[i]; 5 if (!dfn[y]) { 6 tarjan(y, i); 7 low[x] = min(low[x], low[y]); 8 if (low[y] > dfn[x]) 9 bridge[i] = bridge[i ^ 1] = true; 10 } else if (i != (in_edge ^ 1)) 11 low[x] = min(low[x], dfn[y]); 12 } 13 }
1 void tarjan(int x) { 2 dfn[x] = low[x] = ++num; 3 int flag = 0; 4 for (int i = head[x]; i; i = nex[i]) { 5 int y = ver[i]; 6 if (!dfn[y]) { 7 tarjan(y); 8 low[x] = min(low[x], low[y]); 9 if (low[y] >= dfn[x]) { 10 flag++; 11 if (x != 1 || flag > 1) cut[x] = true; 12 } 13 } else low[x] = min(low[x], dfn[y]); 14 } 15 }
边缩点:利用dfs进行标记编号
点缩点:%%%
https://github.com/lydrainbowcat/tedukuri/blob/master/%E9%85%8D%E5%A5%97%E5%85%89%E7%9B%98/%E6%AD%A3%E6%96%87%E5%8C%85%E5%90%AB%E7%9A%84%E7%A8%8B%E5%BA%8F%E7%89%87%E6%AE%B5/0x66%20tarjan_dcc_euler.cpp
转载于:https://www.cnblogs.com/rign/p/11108844.html
Tarjan无向图连通性相关推荐
- 0x66.图论 - Tarjan算法与无向图连通性
目录 一.无向图的割点与桥 割点 桥/割边 时间戳 搜索树 追溯值 二.割边判定法则 三.割点判定法则 1.luogu P3388 [模板]割点(割顶) 2.luogu P3469 [POI2008] ...
- 【51nod - 1076】2条不相交的路径(Tarjan无向图判环)
题干: 给出一个无向图G的顶点V和边E.进行Q次查询,查询从G的某个顶点V[s]到另一个顶点V[t],是否存在2条不相交的路径.(两条路径不经过相同的边) (注,无向图中不存在重边,也就是说确定起点和 ...
- 小白算法练习 lanqiao2017 国赛 发现环 tarjan 无向图
标题:发现环 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操 ...
- #ACW 4084 号码牌(无向图连通性+简单拓扑序)
1.题意 链接: 原题链接. 给你一个1~n全排列A,让你判断能否通过一种操作使之变为目标排列B.该操作是:交换与当前下标i相距did_idi的2个元素. 如:下标为5,d5=2d_5=2d5=2 ...
- tarjan求割点和桥(割边)模板
tanjan算法相关概念 为了与有向图尽可能保持一致,我们将无向图的一条无向边拆分成两条单向边.两条边互为反向边. 从图中一点作为起点,进行DFS搜索遍历图,这样会得到一棵树,我们称之为DFS搜索树, ...
- 算法竞赛知识合集 目录(博客中转站)
目录 0x00. 基本算法 0x01. 基本算法 - 位运算 0x02. 基本算法 - 递推与递归 0x03. 基本算法 - 前缀和与差分 0x04.基本算法 - 二分和三分 0x05.基本算法 - ...
- ACM 网址和一些建议
USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一 ...
- ICPC-图论知识与算法要览
1.图定义(Definitions in graph theory) 1)图(Graph) 2)有向图(Directed graph) 3)图数据表示 邻接矩阵(Adjacency Matrix),邻 ...
- 李煜东算法进阶指南打卡题解
算法竞赛进阶指南 一.0x00 基本算法 1)位运算 2)递推与递归 3)前缀和与差分 4)二分 5)排序 6)倍增 7)贪心 8)习题 二.0x10 基本数据结构 1)栈 2)队列 3)链表与邻接表 ...
最新文章
- i2c驱动 无法使用_Zephyr驱动SCCB设备
- Java递归基础案例-汉诺塔
- jsp页面根据json数据动态生成table
- JavaScript事件详解
- 2020-12-19通信电子线路第一章
- 开源协议栈 rlc rrc_LTE的组网架构与接口协议
- 快过年了,分享 25 个 JS 实用技巧送给大家吧
- ASP.NET判断是否为手机登录
- 培养创造性思维20个技巧
- MySQL 存储引擎和锁
- 修改注册表解决SVN状态图标不显示问题
- linux下组态软件,linux组态软件入门使用
- 南邮计算机考研复试经验,南邮学长复试经验谈(blue原创出品,必是精品)
- 令牌桶 java_服务限流(自定义注解令牌桶算法)
- 机器学习UCI数据库
- 短视频运营小技巧,掌握推荐机制很重要,吸粉引流也不难
- 【软件使用】Macbook M1 QuickTime录屏讲解(只录电脑或者同时录电脑和麦克风人声)
- 苹果M1芯片曝重大Bug:大量用户4K显示器中招,系统兼容性有问题
- 入职外包一个月的感受
- CVE-2018-2628漏洞复现
热门文章
- 九度OJ 1339:ACM (排序)
- LoadRunner中log的使用总结
- SharePoint 2013 图文开发系列之代码定义列表
- 开源依旧:再次分享一个进销存系统
- 广播风暴系列专题(一)广播风暴:发现-端口
- 74ls390设计任意进制计数器_异步FIFO:设计原理及Verliog源码
- 华为外包1年_2021年(1月)有哪些高性价比的华为/荣耀手机值得购买?
- php如何包含html模板,php html模板中怎么使用类似include的功能?
- php etcd 服务发现,confd+etcd+nginx 实现简单服务发现
- gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法