边权转点权(树链剖分)
-
先确定一点为根,记为 \(rt\),处理出深度等信息。
-
将边权赋为该边深度较深的那个点。(每个点表示该点到父亲的那条边的边权,所以根节点除外)。
-
修改 \(x\) 到 \(y\) 之间的路径时需要在 \(lca(x,y)\) 处消除操作。
-
查询 \(x\) 到 \(y\) 之间的路径时需要扣除 \(lca(x,y)\) 的影响。
先确定一点为根,记为 \(rt\),处理出深度等信息。
将边权赋为该边深度较深的那个点。(每个点表示该点到父亲的那条边的边权,所以根节点除外)。
修改 \(x\) 到 \(y\) 之间的路径时需要在 \(lca(x,y)\) 处消除操作。
查询 \(x\) 到 \(y\) 之间的路径时需要扣除 \(lca(x,y)\) 的影响。