Description
题目链接:Codeforces 916E
给你一棵有根树标号为 $1\sim n$,每个点都有一个权值 $a_i$。初始时根为 $1$,接下来有 $q$ 次操作,操作分为以下 $3$ 种:
1 x
:将整棵树的根变为节点 $x$。2 x y k
:把 $x,y$ 的 $\text{LCA}$ 为根的子树中的所有点的权值增加 $k$。3 x
:查询以 $x$ 为根的子树中的节点的权值和。
数据范围:$1\le n,q\le 10^5$,$-10^8\le a_i,k\le 10^8$