最近做题发现,树上问题有一些性质很重要,所以打算在这总结一下
\(RMQ\) 求 \(lca\) :树上任意两点的 \(lca\) 一定是它们欧拉序中两点之间的深度最小的点
一棵树,求点 1, 2, 3, 4……多个点的 \(lca\) :求出有相邻两点的 \(lca\) 取深度最小的一个
树上判断 \(a\) 到 \(b\),\(c\) 到 \(d\) 两条路径是否相交:如果相交,记 \(x=lca(a,b),y=lca(c,d)\),则必有 \(x\) 在 \(c-d\) 路径上或 \(y\) 在 \(a-b\) 路径上
删除重心后所得的所有子树,节点数不超过原树的1/2,一棵树最多有两个重心;
删除树的重心之后,保证分得的 \(max(两个子树 siz)\) 最小
待更新……
原文:https://www.cnblogs.com/Arielzz/p/14878821.html