2023-01-14 20:24阅读: 40评论: 0推荐: 0

线段树优化建图

使用场景

单点向区间、区间向单点,区间向区间建边

实现原理

用线段树的一个节点管辖一段图上区间的顶点

实现步骤

  1. 将原图中的顶点拆点,出点和入点;
  2. 建立两棵线段树,出点的树 otree ,入点的树 itree
  3. 出点的树由子节点连向父节点,边权为 0 ,入点的树由父节点向子节点连边,边权为 0

使用方法

  1. 单点 x 与单点 y 连边,则用出点的树上编号 outx 连向 y 的入点 iny
  2. 单点 x 向区间 [lt,rt] 连边, outx 向入树的根节点递归连边;
  3. 区间顶点 [lt,rt] 向单点 x 连边,出树从根节点递归向 outx 连边;
  4. 区间 [lt,rt] 向区间 [lt2,rt2] 连边,虚拟一个节点 v ,时间复杂度 O(2logN)

本文作者:SenGYi

本文链接:https://www.cnblogs.com/Sengyi/p/17052484.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   SenGYi  阅读(40)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.