技术栈
lca
稳兽龙
10 天前
数据结构
·
c++
·
算法
·
深度优先
·
lca
P3258 [JLOI2014] 松鼠的新家
松鼠的新家是一棵树,前几天刚刚装修了新家,新家有 n n n 个房间,并且有 n − 1 n-1 n−1 根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。
XuYueming
1 个月前
lca
·
dfs 序
·
理论 / 算法
给定 (u,v),如何 O(1) 求 lca(u,v) 的孩子 u',v',且分别为 u,v 的祖先或本身
一棵树,\(q\) 次询问给定 \(u,v\),保证 \(u,v\) 不为祖孙关系。设 \(p=\operatorname{lca}(u,v)\),求 \(p\) 的一个孩子 \(u'\) 且 \(u'\) 为 \(u\) 的祖先或 \(u\) 本身,类似需要求 \(v'\)。
PengFly123
6 个月前
算法
·
lca
·
树状数组
·
dfs序
题解:[ABC294G] Distance Queries on a Tree
给定一颗有 n n n 个节点的树,带边权,要进行 Q Q Q 次操作,操作有两种:1 i w:将第 i i i 条边的边权改为 w w w。 2 u v:询问 u , v u,v u,v 两点的距离。
hnjzsyjyj
1 年前
图论
·
lca
·
dfs序
·
欧拉序
DFS序 & 欧拉序
【算法分析】 ● DFS 序 DFS 序表示从根结点开始对树进行 DFS 所得的结点遍历顺序。易得上图的 DFS 序为:1,2,3,4,5,6,7,8,9。可见,通过 DFS 序,可将一棵树映射为一个一维数组。 假设以某结点 u 为根的子树大小为 cnt[u],u 在整棵树中的 DFS 序为 dfs[u],则可得结点 u 的所有子树对应的 DFS 序区间为 [dfs[u],dfs[u]+cnt[u]-1]。 → 这条性质是编写本题代码的关键。 容易发现,一棵子树所有结点的 DFS 序是整棵树的 DFS 序
lty_ylzsx
1 年前
lca
·
二分答案
·
树上差分
树链剖分[学习笔记]
树剖,就是树链剖分,将一棵树剖分成一堆链 (如说 \(\dots\) )本文主要介绍重链剖分。树剖成链之后一段重链上的 \(dfs\) 序是连续的,那么我们就可以对 \(dfs\) 序使用一些数据结构(树状数组、线段树等)
小威W
2 年前
算法
·
树
·
图
·
lca
·
倍增
·
树上倍增
·
最近公共祖先
【算法】树上倍增 & LCA
把相关链接放在最前面是因为,周赛遇到了几次,不会做。这才想起来学一下这个算法。【力扣周赛】第 360 场周赛(⭐树上倍增) 【力扣周赛】第 361 场周赛(⭐树上倍增、LCA)
陈进士学习
2 年前
算法
·
深度优先
·
图论
·
tarjan算法
·
lca
AcWing1171. 距离(lca&&tarjan)