В классе мы узнали о проблемах RMQ-LCA-RMQ и о том, как поддерживать минимальный запрос диапазона операций за время O (1).В качестве упражнения мой профессор назначил меня для поддержки операции: средний запрос диапазона в пространстве O (n), время предварительной обработки O (n) и время выбора O (1).
Допустим, у меня есть массив Aсодержит 8, 7, 9, 2, 6, 4, 5, 3. Учитывая медиану (i, j), мы должны получить медиану между i-м и j-м элементами (включительно) после сортировки массива.Отсортировано 2, 3, 4, 5, 6, 7, 8, 9. Например, медиана (2,6) = A [4] = 6 (потому что медиана 4, 5, 6, 7, 8 - 6).
Я нашел другие решения, которые предлагают использовать деревья сегментов, но сложность не O (1) в этих случаях.Можно ли решить эту проблему таким же образом, как мы решаем проблему RMQ to LCA to RMQ?