Минимальный элемент в массиве из элементов с индексами i, удовлетворяющих k & i = i, для данного k

Мы слышали о запросах с минимальным диапазоном и знаем, что их можно решить с помощью дерева сегментов или дерева с двоичной индексацией.

Здесь нам дан массив A (индексация на основе нуля) неотрицательных целых чисел и некоторые запросы. Каждый запрос имеет неотрицательное целое число k. k <= размер (A)

И запрашивает минимальный элемент среди элементов A, чьи индексы i удовлетворяют k & i = i (где & - побитовый оператор AND).

Например: A= [5, 4, 9, 1, 3, 6]

если k = 1, индексы 0 и 1 удовлетворяют k & i = i, поэтому ответ минимален среди [5, 4] = 4

если k = 5, индексы 0, 1, 4 и 5 удовлетворяют k & i = i, поэтому ответ минимален среди [5, 4, 3, 6] = 3

Можем ли мы решить это с помощью дерева сегментов или дерева с двоичными индексами? Или любая другая подходящая структура данных?

0 ответов

Другие вопросы по тегам