差分+線段樹合併 [Vani有約會]雨天的尾巴

彷佛這題主流作法是樹剖 可是樹剖怎麼作啊 線段樹合併我還沒怎麼學過 因此用線段樹合併來作了  c++ 首先對於每一個操做確定是差分來維護是最方便的   優化 每一個點咱們創建一顆權值線段樹  對於x y z 操做  spa 分別在樹x,樹y,樹lca(x,y),樹 fa[lca(x,y)] 上的z位置進行+1,+1,-1,-1的操做 這是典型的樹上點差分 code 而後咱們由下而上的統計每棵樹的答
相關文章
相關標籤/搜索