线段树优化建图
使用场景
单点向区间、区间向单点,区间向区间建边
实现原理
用线段树的一个节点管辖一段图上区间的顶点
实现步骤
- 将原图中的顶点拆点,出点和入点;
- 建立两棵线段树,出点的树 ,入点的树 ;
- 出点的树由子节点连向父节点,边权为 ,入点的树由父节点向子节点连边,边权为 ;
使用方法
- 单点 与单点 连边,则用出点的树上编号 连向 的入点 ;
- 单点 向区间 连边, 向入树的根节点递归连边;
- 区间顶点 向单点 连边,出树从根节点递归向 连边;
- 区间 向区间 连边,虚拟一个节点 ,时间复杂度
本文作者:SenGYi
本文链接:https://www.cnblogs.com/Sengyi/p/17052484.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步