当前位置: 首页 > news >正文

Tarjan全家桶系列--割点

割点定义

在无向图G=(V,E)中,如果一个节点u满足:删除u以及与u相关联的所有边后,图的连通分量数量增加,则称u为割点

核心思想

Tarjan算法仍然基于深度优先搜索(DFS),利用两个关键数组:

  • dfn[u]:节点u的DFS访问顺序(时间戳)
  • low[u]:从u出发,不经过DFS树中的父节点,能到达的最小dfn值

判断割点的条件

对于一个节点u,有两种情况是割点:

情况1:u不是DFS树的根节点

如果存在u的一个子节点v,满足low[v] >= dfn[u],那么u是割点。

解释:这意味着从v出发,在不经过u的情况下,无法到达u的祖先节点。移除u后,v及其后代将与图的其余部分断开。

情况2:u是DFS树的根节点

如果u有两个或更多个子树(在DFS树中),那么u是割点。

解释:作为根节点,每个子树之间没有连接(除了通过根节点)。移除根节点后,这些子树将互相断开。

模板

说明:Run(int _n,const vector<int>adj[])传入总点数nvector<int>[]邻接表,运行tarjan求割点
vector<bool> Get()获取cut[]数组,cut[i]==truei点是割点

template<intN>structCut_vertex{vector<bool>cut;//cut[i]==true,i是割点intdfn[N],low[N];constvector<int>*adj;intn,clk,root;voiddfs_t(intu){dfn[u]=low[u]=++clk;intcnt=0;//DFS树的u子树中,去掉u能新增的连通块数for(intto:adj[u]){if(dfn[to]==0){dfs_t(to);low[u]=min(low[u],low[to]);if(low[to]>=dfn[u])++cnt;}elselow[u]=min(low[u],dfn[to]);}if((u!=root&&cnt>=1)||cnt>=2)cut[u]=true;elsecut[u]=false;}voidRun(int_n,constvector<int>adj[]){n=_n;clk=0;cut.assign(n+3,false);fill(low,low+3+n,0);fill(dfn,dfn+3+n,0);this->adj=adj;for(inti=1;i<=n;++i)if(dfn[i]==0){root=i,dfs_t(i);}}vector<bool>Get(){returncut;}};constintmaxn=2*1e5+20;Cut_vertex<maxn>T;
http://www.rkmt.cn/news/98591.html

相关文章:

  • 基于SSM的高校大学生就业平台的设计与实现
  • 销售助手-推荐系统
  • 兜兜英语每日短语:逃单篇
  • Octo论文详解
  • 6、RSEI 生态环境质量智能评估系统 (GEE App)
  • Diffusion Policy详解
  • 树的初阶相关知识(中)
  • 基于springboot和vue的协同办公系统 企业员工请假销假系统_c27myh05(java毕业设计项目源码)
  • 力扣 完全平方数
  • 基于springboot和vue的城市公交管理系统的设计与实现_8f8dpq62(java毕业设计项目源码)
  • python3
  • Triton推理服务器部署微调后的模型及测试
  • 2025年成都靠谱的抖音代运营品牌哪家好,网站建设/网络公关/网络推广/新闻营销/抖音推广/抖音代运营品牌推荐排行榜 - 品牌推荐师
  • 云数据库服务(如AWS RDS)的优势和考虑因素?
  • 使用NeMo框架微调Llama 3.1 8B Instruct推理模型
  • 磁链观测器实战:从仿真到代码的闭环之旅
  • 墨迹蘑菇休闲小游戏Linux演示
  • JVM 之 内存溢出实战【OOM? SOF? 哪些区域会溢出?堆、虚拟机栈、元空间、直接内存溢出时各自的特点?以及什么情况会导致他们溢出?并模拟溢出】
  • vue基于Spring Boot框架学生健康饮食与运动管理系统_c3g9i4f9
  • 2026年最新教程!手把手教你用Python画一颗圣诞树(附源码)无需部署可直接运行!
  • 沉浸式LED显示屏LED电子屏多少钱
  • AI使用总结
  • 18、Debian 系统用户与认证管理全解析
  • 【设计模式|第四篇】适配器模式:让不兼容的接口协同工作
  • 线程是进程内的独立调度单位,是CPU调度的基本单元
  • 20、Debian系统管理:备份与设备管理全解析
  • QMS软件系统:质量成本直降40%,让质管变“智造“——全星质量管理QMS软件系统应用解析
  • 16、Debian内核:管理、特性与定制全解析
  • 探索四种商品售货机:MCGS 7.7 与三菱 PLC 联机之旅
  • 突破性多模态架构革命:Qwen3-VL-235B-A22B-Instruct-FP8重塑视觉语言交互边界