整数の配列とその配列の範囲 (間隔) のリストが与えられ、各間隔の個別の要素の数を返すアルゴリズムを実装しようとしています。つまり、配列 A と範囲 [i,j] を指定すると、集合 {A[i],A[i+1],...,A[j]} のサイズが返されます。
明らかに、単純なアプローチ (i から j まで反復し、重複を無視してカウントする) は遅すぎます。AUB - B が常に B と等しいとは限らないため、Range-Sum は適用できないようです。
ウィキペディアで Range Queries を調べたところ、Yao ('82 年) が線形の前処理時間と空間、およびほぼ一定のクエリ時間で半群演算子 (和集合のようです) に対してこれを行うアルゴリズムを示したことを示唆しています。残念ながら、記事は無料で入手できません。