会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
Loading
Iris の Blog
博客园
首页
新随笔
联系
订阅
管理
[笔记] 虚树
对于一棵较大的树,在保留关键点和树的形态的前提下,使用尽量少的节点数目。
虚树的构建
算法1
将关键点按 dfn 序排序;
遍历一遍,任意两个相邻的关键点求一下 LCA,并且哈希表判重;
然后根据原树中的祖先后代关系建树。
算法2
加入所有关键点的 LCA 作为虚树的根;
将关键点按 dfn 序排序;
当前节点与栈顶的 LCA 是栈顶,当前节点入栈;
否则弹栈直到栈顶的深度不大于 LCA,别忘了连边;
若栈顶不是 LCA,LCA 入栈,再把当前节点入栈。
posted @
2022-03-03 16:33
IrisT
阅读(
27
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告