尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

20251227 - 点双 割点 割边 总结

20251227 - 点双 割点 割边 总结
📅 发布时间:2026/6/19 21:53:07

比赛链接:https://vjudge.net/contest/777735#problem/A。

割点

介绍

如果从无向图中删去一个点之后,图里的连通分量的数量增加了,那么删去的这个点就被称之为割点。

暴力做法,考虑依次删除每个点,再去数连通分量的个数,判断是否为割点,那么时间复杂度就是 \(O(nm)\) 的,太慢了。一般都是用 Tarjan 做到 \(O(n+m)\) 找割点的。

做法

Tarjan 时,会在 DFS 的过程中维护 \(dfn\) 和 \(low\) 两个信息,其中 \(low_u\) 是指从 \(u\) 出发且最多用反祖边向上走一步的情况下能到达的最小的时间戳。

如果一个点 \(u\),有子节点 \(v\) 不能回到比 \(u\) 更高的节点,那么 \(u\) 就是割点。因为删掉 \(u\) 之后,\(v\) 所在的子树没有反祖边可以连回来,那么图的连通分量数量就会增多,那么 \(u\) 就是割点咯。

我们可以用 \(low\) 和 \(dfn\) 两个数组快速判断是否能连回来,如果 \(low_v \ge dfn_u\) 就代表 \(v\) 这个子节点连不上去了。

这个判断法则只在非根节点时成立。

根节点需要特殊处理。如果根节点在 DFS 树上有两个或更多子节点,根节点是割点,否则如果只有一个子节点就不是割点。证明过于显然所以不写了。

实现

我在代码中用 \(id\) 表示上文中提到的 \(dfn\)。

void DFS(int u,int fa){id[u]=(++tot),low[u]=id[u];int cnt=0;for(int v:g[u]){if(v==fa)continue;if(id[v])low[u]=min(low[u],id[v]);else{DFS(v,u),cnt++;low[u]=min(low[u],low[v]);if(fa&&low[v]>=id[u])cut[u]=1;}}if(!fa&&cnt>1)cut[u]=1;return;
}

相关新闻

  • PyTorch开发者必看:Miniconda-Python3.10提升环境配置效率50%
  • 【深度学习新浪潮】什么是AI原生云计算?
  • PHP 包含

最新新闻

  • 终极游戏分屏指南:让任何PC游戏都能本地多人对战
  • 本地代码AI工作流:Ollama+VSCode替代Codex实战指南
  • 沧州家长口碑优选!2026单招择校高满意度机构,差异对比一目了然 - 快乐的大脚123
  • 2026 年邯郸厨卫屋顶防水修缮三家对比测评 吉修匠 99.8 分 - 吉修匠
  • 2026 年 6 月最新资讯:萧邦国内全部官方维修门店地址全面更新公示,专属全国服务热线同步上线运行 - 亨得利中国服务中心
  • 卡地亚 2026 年 6 月全国官方维修网点实地调研验证报告:统一服务流程全面更新,专属售后体验迎来系统性全新升级 - 卡地亚中国服务中心

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号