专栏文章

树上两点距离的 O(n)-O(1) 做法

休闲·娱乐参与者 12已保存评论 12

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
12 条
当前快照
1 份
快照标识符
@mmautviy
此快照首次捕获于
2026/03/04 01:01
7 天前
此快照最后确认于
2026/03/10 01:05
12 小时前
查看原文
目标是求解点 AA 和点 BB 在树上的距离,我们指定树的根为点 OO,这样就转换成了有根树,有根树我们可以连从父亲到儿子节点的有向边,变成一棵有向树。
根据高中数学知识,有向边和向量都是个箭头,所以是等价的。原问题转换为求 AB|\overrightarrow{AB}|,DFS 跑一遍对每个点进行向量加法得出 OA\overrightarrow{OA}OB\overrightarrow{OB},预处理是 O(n)O(n) 的。查询向量减法 O(1)O(1) 即可得出答案。

评论

12 条评论,欢迎与作者交流。

正在加载评论...