树的直径
本文将介绍树的直径,用两次 DFS 求出树上最长简单路径,并说明其正确性依据。
树的重心
本文将介绍树的重心,即删去后各连通块大小不超过一半的点,给出一次 DFS 的求法与点分治依据。
最近公共祖先
本文将介绍最近公共祖先的两种求法,倍增法预处理 2^k 级祖先,以及树链剖分法。
树上差分
本文将介绍树上差分,用点差分与边差分配合 LCA 高效实现对树上路径的整体加值。
树链剖分
本文将介绍树链剖分,用两遍 DFS 划分重链使路径与子树对应连续区间,交给线段树处理。
树上启发式合并
本文将介绍树上启发式合并,借助轻重儿子离线统计子树信息,总复杂度 O(nlogn)。
虚树
本文将介绍虚树,只保留关键点及其两两 LCA 重新建树,给出二次排序法与单调栈法两种构建。
树分治
本文将介绍点分治,每次取重心为分治中心统计经过它的路径,处理树上路径计数类问题。