HDU5221 Occupation【树链剖分+线段树】
题意:有三种操作,1代表占领u-v这条路径上的所有点,2表示失去u这个点,3占领以u为根的子树的所有点。。对每一个询问输出他占领城市的权值之和。。
首先树链剖分处理一下,然后用线段树维护区间求和区间查询就好了,查询过的点再置0。。。
处理子树可以根据dfs序来求,可以在树链剖分的时候记录下这个点的dfs序,然后查询子树就可以直接有一个区间了。
1操作没有想到处理一个点的时候错了。。wa了几次
原创
2015-05-04 13:23:11 ·
341 阅读 ·
0 评论