题意 : 有一颗N(N<=10^5)叉的苹果树,每个叉处长有一个苹果。
对该果树有两种操作:
'C x' : 更新果树,若x叉处有苹果,则摘下;若没有,则长出一个新的。
'Q x' : 统计子树x上的苹果数量(包括x)
这题的关键就是怎样将树中的节点映射到树状数组。
解决 : 找到树节点的偏序关系。
这是我第一道树状数组,感觉树状数组中的元素一定要满足偏序关系,找到偏序关系是应用树状数组的关键,呵呵,不知道这个感觉是否正确,以后遇到了再总结。
PS : 树状数组中每个元素都记录并保持了它之前所有元素之和。
前i个元素之和 C[i]
区间[i,j]中元素之和 C[j] - C[i]