for i from 1 to N-1: m = max(v[i], m) idx = select(v[i] > m, i, idx) return idx i番目までの最大値mとそのときの添え字idxの両方の同時更新 のEOHVからEnc-maxとselectのcを算出 添え字の大きさは このまま比較するとEOHVのサイズは 添え字空間の縮小による改良 隣り合う添え字は上位ビットが同じなのでselect処理は不要 木構造で下位1ビットのselect, 下位2ビットのselectを実行 9 / 19