lca

稳兽龙10 天前
数据结构·c++·算法·深度优先·lca
P3258 [JLOI2014] 松鼠的新家松鼠的新家是一棵树,前几天刚刚装修了新家,新家有 n n n 个房间,并且有 n − 1 n-1 n−1 根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。
XuYueming1 个月前
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'\)。
PengFly1236 个月前
算法·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 两点的距离。
hnjzsyjyj1 年前
图论·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_ylzsx1 年前
lca·二分答案·树上差分
树链剖分[学习笔记]树剖,就是树链剖分,将一棵树剖分成一堆链 (如说 \(\dots\) )本文主要介绍重链剖分。树剖成链之后一段重链上的 \(dfs\) 序是连续的,那么我们就可以对 \(dfs\) 序使用一些数据结构(树状数组、线段树等)
小威W2 年前
算法···lca·倍增·树上倍增·最近公共祖先
【算法】树上倍增 & LCA把相关链接放在最前面是因为,周赛遇到了几次,不会做。这才想起来学一下这个算法。【力扣周赛】第 360 场周赛(⭐树上倍增) 【力扣周赛】第 361 场周赛(⭐树上倍增、LCA)
陈进士学习2 年前
算法·深度优先·图论·tarjan算法·lca
AcWing1171. 距离(lca&&tarjan)