Предположим, что нам дан массив содержащий неотрицательные целые числа (не обязательно различающиеся).
Пусть будет отсортированным в неубывающем порядке. Мы хотим вычислить
Очевидным решением является сортировка а затем вычисление . Это дает алгоритм, который работает во времени в худшем случае.
Можно ли сделать лучше? Можем ли мы вычислить за линейное время?
Мой главный вопрос - тот, что выше. Но было бы интересно узнать о следующем обобщении проблемы.
Пусть будет отсортированным согласно некоторому оракулу сравнения а - функция, заданная оракулом. Учитывая и оракулы для и , что мы можем сказать о времени, необходимом для вычисления ?
Мы все еще можем вычислить за времени. Но можем ли мы доказать суперлинейную нижнюю оценку для этого обобщенного случая?
Если ответ «да», имеет ли место нижняя граница, если предположить, что - это обычный порядок на целых числах, а - «хорошая» функция (монотонная, полиномиальная, линейная и т. Д.)?