洛谷 3128 树上差分
这道题由于只是在最后询问,因此我们可以利用一种叫做差分的技巧,具体来说,就是如果要修改u到v的路径,我们可以将sum[u]++,sum[v]++,sum[lca(u,v)]--,sum[father[lca(u,v)]]--。这样我们可以通过一遍dfs自底向上转移sum值,这样就能最后在O(n)的时间内求出每个点的值。
#include
#include
#include
using names
原创
2016-10-04 08:04:33 ·
871 阅读 ·
0 评论