全体集合のサイズを $\sigma$ とする。
WaveletMatrix(vector<ull> a)
ull access(ull i)
ull select(ull c, ull rank)
1-indexed
。ull max_range(ull l, ull r)
ull min_range(ull l, ull r)
ull quantile_range(ull l, ull r, ull k)
0-indexed
。ull rank(ull c, ull pos)
ull range_freq(ull l, ull r, ull min, ull max)
ull rank_less_than(ull c, ull l, ull r)
ull rank_more_than(ull c, ull l, ull r)
tuple<ull, ull, ull> rank_all(ull c, ull l, ull r)
pair<ull, ull> topk(ull l, ull r, ull k)
ull range_sum(ull l, ull r, ull min, ull max)
ull prev_value(ull l, ull r, ull min, ull max)
ull next_value(ull l, ull r, ull min, ull max)
tuple<ull, ull, ull> intersect(ull l1, ull r1, ull l2, ull r2)