題意 : 有一顆N(N<=10^5)叉的蘋果樹,每個叉處長有一個蘋果。
對該果樹有兩種操作:
'C x' : 更新果樹,若x叉處有蘋果,則摘下;若沒有,則長出一個新的。
'Q x' : 統計子樹x上的蘋果數量(包括x)
這題的關鍵就是怎樣將樹中的節點映射到樹狀數組。
解決 : 找到樹節點的偏序關係。
這是我第一道樹狀數組,感覺樹狀數組中的元素一定要滿足偏序關係,找到偏序關係是應用樹狀數組的關鍵,呵呵,不知道這個感覺是否正確,以後遇到了再總結。
PS : 樹狀數組中每個元素都記錄並保持了它之前所有元素之和。
前i個元素之和 C[i]
區間[i,j]中元素之和 C[j] - C[i]