poj 3321 Apple Tree( 树状数组 )

题意 : 有一颗N(N<=10^5)叉的苹果树,每个叉处长有一个苹果。

对该果树有两种操作:

'C x' : 更新果树,若x叉处有苹果,则摘下;若没有,则长出一个新的。

'Q x' : 统计子树x上的苹果数量(包括x)

这题的关键就是怎样将树中的节点映射到树状数组。

解决 : 找到树节点的偏序关系。 

这是我第一道树状数组,感觉树状数组中的元素一定要满足偏序关系,找到偏序关系是应用树状数组的关键,呵呵,不知道这个感觉是否正确,以后遇到了再总结。

PS : 树状数组中每个元素都记录并保持了它之前所有元素之和。

前i个元素之和 C[i]

区间[i,j]中元素之和 C[j] - C[i]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章