树上差分

树链所有点权加, 最后求每个点的点权. ++c[x],++c[y],--c[lca(x,y)],--c[fa[lca(x,y)]], 贡献转化为子树和.

树链所有边权加, 最后询问每条边的边权. ++c[x],++c[y],c[lca(x,y)]-=2.

 

posted @ 2019-04-21 20:08  uid001  阅读(93)  评论(0编辑  收藏  举报