在图论中经常遇到一些很常见的问题,比如一个非常简单的例子,给你一棵树,每一个点都有一个权值,现在动态更新一个点的权值,叫你查询一个点对路径上所有点权的和,这种问题和图论的Tree Problem非常类似,我们可以利用树形结构转线性结构的方法来处理,我们考虑随便取一个点,比如说1,作为根,这样我们就可以得到一个DFS序列,注意我们维护一个长度为2*N的DFS序列,每次访问开始的时候,向序列中加入一个等于当前点权的元素,每次结束这个结点访问的时候,我们加入一个等于当前点权相反数的元素,举一个很简单的例子。
- 我们考虑边的序列是这样
- 3
- 1 2
- 1 3
- 点权是
- 5 7 10
- 那么我们得到的序列有可能是
- 5 7 -7 10 -10 -5