mini notes

競技プログラミングの解法メモを残していきます。

AOJ Courses GRL_5_E Range Query on a Tree II

問題:Aizu Online Judge

解答:Aizu Online Judge

解法:一点更新区間加算のセグメント木を使う。タイプ0のクエリ(u, v)は、オイラーツアーとセグメント木を対応させ、オイラーツアーでvが最初に出てくるところに+wし、最後に出てくるところの次で-wする。タイプ1のクエリでは、オイラーツアーの最初からuが出てくるところまでに対応する、セグメント木の範囲和を取得すればよい。