値と作用に関する演算を定義することで多様な目的に適用できる AOJの4つの問題に正しく答えられる 正しく動くことを確認してから、速度不足の場合にはインライン展開する 1箇所インライン展開するだけでAOJの4つの問題に制限時間内に回答できる https://github.com/nishio/atcoder/tree/master/memo/segment_tree