割点:去掉某点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无向图连通性相关推荐

  1. 0x66.图论 - Tarjan算法与无向图连通性

    目录 一.无向图的割点与桥 割点 桥/割边 时间戳 搜索树 追溯值 二.割边判定法则 三.割点判定法则 1.luogu P3388 [模板]割点(割顶) 2.luogu P3469 [POI2008] ...

  2. 【51nod - 1076】2条不相交的路径(Tarjan无向图判环)

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

  3. 小白算法练习 lanqiao2017 国赛 发现环 tarjan 无向图

    标题:发现环 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操 ...

  4. #ACW 4084 号码牌(无向图连通性+简单拓扑序)

    1.题意 链接: 原题链接. 给你一个1~n全排列A,让你判断能否通过一种操作使之变为目标排列B.该操作是:交换与当前下标i相距did_idi​的2个元素. 如:下标为5,d5=2d_5=2d5​=2 ...

  5. tarjan求割点和桥(割边)模板

    tanjan算法相关概念 为了与有向图尽可能保持一致,我们将无向图的一条无向边拆分成两条单向边.两条边互为反向边. 从图中一点作为起点,进行DFS搜索遍历图,这样会得到一棵树,我们称之为DFS搜索树, ...

  6. 算法竞赛知识合集 目录(博客中转站)

    目录 0x00. 基本算法 0x01. 基本算法 - 位运算 0x02. 基本算法 - 递推与递归 0x03. 基本算法 - 前缀和与差分 0x04.基本算法 - 二分和三分 0x05.基本算法 - ...

  7. ACM 网址和一些建议

    USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一 ...

  8. ICPC-图论知识与算法要览

    1.图定义(Definitions in graph theory) 1)图(Graph) 2)有向图(Directed graph) 3)图数据表示 邻接矩阵(Adjacency Matrix),邻 ...

  9. 李煜东算法进阶指南打卡题解

    算法竞赛进阶指南 一.0x00 基本算法 1)位运算 2)递推与递归 3)前缀和与差分 4)二分 5)排序 6)倍增 7)贪心 8)习题 二.0x10 基本数据结构 1)栈 2)队列 3)链表与邻接表 ...

最新文章

  1. i2c驱动 无法使用_Zephyr驱动SCCB设备
  2. Java递归基础案例-汉诺塔
  3. jsp页面根据json数据动态生成table
  4. JavaScript事件详解
  5. 2020-12-19通信电子线路第一章
  6. 开源协议栈 rlc rrc_LTE的组网架构与接口协议
  7. 快过年了,分享 25 个 JS 实用技巧送给大家吧
  8. ASP.NET判断是否为手机登录
  9. 培养创造性思维20个技巧
  10. MySQL 存储引擎和锁
  11. 修改注册表解决SVN状态图标不显示问题
  12. linux下组态软件,linux组态软件入门使用
  13. 南邮计算机考研复试经验,南邮学长复试经验谈(blue原创出品,必是精品)
  14. 令牌桶 java_服务限流(自定义注解令牌桶算法)
  15. 机器学习UCI数据库
  16. 短视频运营小技巧,掌握推荐机制很重要,吸粉引流也不难
  17. 【软件使用】Macbook M1 QuickTime录屏讲解(只录电脑或者同时录电脑和麦克风人声)
  18. 苹果M1芯片曝重大Bug:大量用户4K显示器中招,系统兼容性有问题
  19. 入职外包一个月的感受
  20. CVE-2018-2628漏洞复现

热门文章

  1. 九度OJ 1339:ACM (排序)
  2. LoadRunner中log的使用总结
  3. SharePoint 2013 图文开发系列之代码定义列表
  4. 开源依旧:再次分享一个进销存系统
  5. 广播风暴系列专题(一)广播风暴:发现-端口
  6. 74ls390设计任意进制计数器_异步FIFO:设计原理及Verliog源码
  7. 华为外包1年_2021年(1月)有哪些高性价比的华为/荣耀手机值得购买?
  8. php如何包含html模板,php html模板中怎么使用类似include的功能?
  9. php etcd 服务发现,confd+etcd+nginx 实现简单服务发现
  10. gps两点距离 php,PHP应用:PHP计算百度地图两个GPS坐标之间距离的方法