オイラーツアーをすると、木に対する計算から区間の計算に言い換えができる。
区間の話にできると、例えばセグ木などのツールが使える。
オイラーツアーには、頂点に注目したものと、辺に注目したものの2種類がある。
(tour, in, out) を計算する。
tour: ある種の DFS 訪問順in[v]: 頂点 v を最初に通った時刻out[v]: 頂点 vを最後に通った時刻 (出ていった時刻にするケースもある)tour[in[v]..=out[v]] : 頂点 v を根に持つ部分木tour[0..=in[v]]: 根 0 から 頂点 v までのパス(遠回りしてる可能性もある)tour[in[u]..=in[v]] : 2つの頂点 u, v を含む部分木 (in[u] <= in[v] の場合)
出ていった時刻を考える場合は in[v]..out[v] のような区間を考えることになる。