[bzoj1103][poi2007]大都市meg(DFS序)

题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1103

分析:

处理树的问题如果有边权,一般转化成点权,然后问题就等价于:

给你一个初始每个点的点权都为1的树,有2种操作:

1、将一个点的点权变为0

2、询问从根(1)到某个节点的路径上的所有点的点权和

 

如果某个点的点权边为了0,那么说明以这个点为根的子树所有的点到树根的点权和都将-1,这很容易想到树链剖分里的思想,即把树上的每个点对应到一个数组的每个位置上,用线段树处理。又注意以某个点为根的子树在DFS序中是连在一起的,所以可以先求出整个树的DFS序。

那么问题就转化为了,给你一个数组,有如下操作:

1、将一段数字-1

2、求某个位置数字的值

这就是典型的BIT了……

posted @ 2014-09-07 10:09  Chellyutaha  阅读(136)  评论(0编辑  收藏  举报