关于lca的基本操作看这里ovo
了解过lca就可以看看树上差分辣
大概就是通过dfs和lca来处理的,可以实现在某一子树或某一条链上加同一个数后查询每个点的值
所以显然分为两种
第一种是把某一子树全部加d
我也觉得丑
以2为底的子树全部加d,运用差分的思想,可以在它的根节点加d,处理每个节点的值是它父节点的前缀和
比如。。这个图上2.5.6.8.9.10.11全都加d,可以2加d,对每个点递归求父节点的前缀和。
了解过lca就可以看看树上差分辣
大概就是通过dfs和lca来处理的,可以实现在某一子树或某一条链上加同一个数后查询每个点的值
所以显然分为两种
我也觉得丑
以2为底的子树全部加d,运用差分的思想,可以在它的根节点加d,处理每个节点的值是它父节点的前缀和
比如。。这个图上2.5.6.8.9.10.11全都加d,可以2加d,对每个点递归求父节点的前缀和。