‹ 上一题 下一题 ›

g7-07714. 树上差分的 O(1) 路径加 未做

要给树上一条路径 上的每个点加 。做法是维护差分数组 :d[u]+=w; d[v]+=w; d[lca]-=w; d[fa[lca]]-=w;,最后自底向上把子树和汇总。这个做法每次路径加只改四个位置,却能还原整条路径,原因是( )。

  • A. 存的就是点 的最终值,四个位置改完直接读 即可
  • B. 因为 LCA 能 求出,所以路径加也是
  • C. 因为路径被拆成了 和 两条链,链上差分本来就是一次区间加
  • D. 每个点的最终值等于它子树内差分标记之和:、 各 让两条分支各带上一份 , 处 把重复的一份抵消, 处再 截断继续上传,一次汇总就把所有路径加同时还原
未选择
输入
输出

            
答案