【学习笔记】支配树
前言
萌新刚开始学图论入门,今天来学习一下支配树(灭绝树)这个东西。有问题请指出啊。
支配与支配点
在一张有向图 中,对于任意两个点 , ,若从起点 出发到达顶点 的所有路径都需要经过顶点 ,则称顶点 支配顶点 ( 为 的支配点)。特别地,每个顶点支配其自身。
另一种更形象的定义是, 被删除后, 无法到达 ,则称顶点 支配顶点 ( 为 的支配点)。
很显然这两种定义是等价的。
支配树
对于非根节点 ,设距离 最近的支配点为 ,那么从 向 连一条有向边。形成的树叫做支配树。
支配树最明显的性质:在支配树上,从 走向任意一点 所路过的所有点就是 的支配点。
树的支配树
对于一棵树来说,它本身就是自己的支配树。
DAG 的支配树
我们需要做的,是对于任意非根节点 ,找到它的最近支配点。
由于是 DAG,考虑先对其进行拓扑排序。接下来按照拓扑序建树。
我们假设考虑到节点 ,即拓扑序在 之前的节点已经建好了支配树。
我们找到所有存在边 的节点 ,我们的任务变成了从 到达所有 中的必经点。这个时候会发现,如果我们找到所有 在支配树上的 ,这个点就是我们要求的 的最近支配点。这一点可以画个图理解。
可以用倍增求出。
注意,需要反向建边才能找到所有 。
-
模板题。先拓扑,把所有生产者连向一个超级源点 ,然后建出支配树,输出 即可。
-
CF757F Team Rocket Rises Again
先跑最短路,建出最短路图。由于最短路图是个 DAG,然后和上题一样即可。
一般有向图的支配树
先咕着。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?