動的 (辺の追加/削除がある) 森を管理するデータ構造。木をパスで分解して、それぞれのパスを Splay Tree で管理する。
頂点重みを持たせるか、辺重みを持たせるかをテンプレートパラメータで指定する。
データ取得はパスに特化 & 根や親頂点の特定などの基本機能。
パス上の重みの Sum,Min などのデータ取得、パス上の頂点または辺の重みに対して Affine 変換、一律更新などが可能。
加えて、木の辺を動的に追加/削除可能で、連結成分の根も動的に変更可能。LCA も取れる。
これらの操作をならし計算量で O(log Q) 時間。コード下部に使用例を付けています。