定義 e で単位元_eを設定し 定義 f でf(a,b)の返り値_fを設定すると 任意の演算を行うセグ木が出来ます。 ===注意点=== ・1-indexed ・閉区間取得 find(s,t) => f(A_s,A_s+1 … ,A_t) ・一点更新(一点加算はupdate定義も弄る必要あり) ===========
Scratchで抽象化セグメント木作れましたね。 これで競プロでセグ木が出ても大丈夫!