$QTREE$ 就是一套树上数据结构练习题。
这套题貌似来源于 $SPOJ$,我是在 $luogu$ 看到的。
$QTREE1$
题意
一棵 $n$ 个点的带边权树,要求支持 单边改权值 和 询问路径边权和。
题解
树链剖分裸题。
$QTREE2$
题意
一棵 $n$ 个点的带边权树,有两种询问,分别是 询问路径边权和、询问有向路径的第 $k$ 个点。
题解
还是树链剖分裸题,由于没有修改,直接维护每条重链缩起来的信息即可,方便一次跳过重链。
$QTREE4$
题意
一棵 $n$ 个点的带边权树,每个点有黑/白色,要求支持两个操作:1. 翻转一个点的颜色;2. 询问距离最远的一对白点。
题解
方法1:动态边分治
算是一个比较简单的“动态”。
考虑静态边分治时怎么做:就是统计一条重心边