摘要:
前置知识
$\text{LCT}$ 维护子树信息,考虑辅助树上一个节点的子树信息只是其代表的这一段链的信息,设 $S(u)$ 为节点 $u$ 的子树信息,那么在辅助树上我们维护的是:
$$
S(u)=S(lson)+S(rson)+val(u)
$$
考虑它们的实际意义 $lson$ 是 $u$ 的父亲,$rson$ 是 $u$ 的重儿子,显然 $S(lson)$ 是我们不需要的,而真正的辅助信息只算了节点本身和重儿子。
考虑按照这样算的话, $u$ 的每一个轻儿子代表的子树信息都是合法的,那么可以再开一个 $vs(u)$ 把所有轻儿子的 $S$ 加上去。
$$
S(u)=S(lson)+S(rson)+val(u)+vs(u)
$$ 阅读全文