1. 程式人生 > >天天愛跑步——樹上差分

天天愛跑步——樹上差分

但是 -o 回溯 跑步 bsp 出現 ont dep size

先來一道簡化版:

關聯點 2
? 給出一棵二叉樹,每個點有點權 ????
? 如果 ?? 在 ?? 的左(右)子樹中,且 ?? 到 ?? 的距離為 ????,則稱 ??
為 ?? 的左(右)關聯點
? 求每個點的左、右關聯點個數
? ?? ≤ 10^6

子樹內距離根為x深度的點有多少個

不能爆搜。

但是,可以利用dfs的性質,便利完a的子樹,才會出來。

所以,可以用一個全局數組記錄dep[i]表示深度為i的點出現了幾次

進入x,記錄dep[dep[x]+va]個數=old,然後把dep[dep[x]]++

回溯的時候,把new-old即可求出答案。

天天愛跑步——樹上差分