基环树
定义
(图片来自这篇文章)
-
基环树: 有 个点 条边的连通图
-
外向树: 每个点出度为
- 内向树: 每个点入度为
找环
-
-
拓扑排序
-
并查集
-
...
一般处理方法
因题而异,一般有两种常用的
-
第一种是先断掉环边,把环上点当作根,处理每一棵子树,再在环上处理,可能需要环形 。
-
第二种是选择一条环边断掉,化成树上问题,可能需要枚举断边,或者换根 。
具体还是看题吧
例题
简要题解
考虑一条边链接的两个点不能同时选,随便找一条环边断开,强制 不选,强制 不选,两种情况取
求基环树森林的直径和,边带权
简要题解
只考虑一棵基环树
直径可能过环,也可能不过环,两种情况取最大值
把环找出来,先删去环边,找每棵子树的直径最大值
再考虑如果经过一段环边,那么就是经过环上两点的路径和这两个点子树内最长链之和的最大值
考虑如何处理这个环上问题
两点间距离快速求解需要前缀和,那么答案可以写成
也即
但是环上有两个方向呢?
你发现另一个方向其实就是
取 的最值和 的最值即可
简要题解
,是一棵树,直接排序后按照 序输出即可
,基环树,发现环边一定不会全走,可以枚举环边断开,比较字典序取最小的即可
- 加强版
简要题解
先考虑在树上怎么做
一个点会贡献到一条链上
树上差分
环上呢?
考虑每个点会贡献到环上的一段,仍然可以对环进行差分处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效
2022-07-21 来自学长的馈赠2
2022-07-21 A层邀请赛1