Для массива натуральных чисел ≤ k , где k - константа, я хочу ответить на O ( 1 ) запросов вида: «сколько раз m появляется в массиве между индексами i и j "?
Массив должен быть предварительно обработан за линейное время. В частности, я хотел бы знать, есть ли сокращение до минимального диапазона запросов.
Это эквивалентно RMQ в случае, когда и вы хотите запросить количество единиц в интервале. Таким образом, мы можем использовать это . Я не мог ответить на свой вопрос из-за ограничений SE.
Ответы:
count[pos][elem] = occurences of 'elem' in the indices 0..pos
предварительная обработка
запрос
(предполагается, что i, j являются включающими границами)
count
Извиняюсь за любые вопросы с этим ответом, это мой первый.
источник