Встречное дерево Фенвика
Версия от 03:59, 17 мая 2011; Proshev (обсуждение | вклад)
Определение: |
Встречное дерево Фенвика — дерево Фенвика, в котором над каждым столбцом идет столбец такой же высоты, вычисляемый по формуле . |
Вспомним, что
возвращает количество единиц в двоичной записи числа , а каждый столбец прямого дерево Фенвика вычисляется по формулеСвойства
Встречное дерево Фенвика - это структура данных, дерево на массиве, обладающее следующими свойствами:
1) позволяет вычислять значение некоторой обратимой операции
на любом отрезке за время ;2) позволяет изменять значение любого элемента за
;3) требует
памяти, а точнее, ровно столько же, сколько и массив из элементов;4) легко обобщается на случай многомерных массивов.
5) позволяет представить любой отрезок
в виде дизъюнктивных объединений отрезков, взятых из прямого и встречного дерева Фенвика.Применение
Дерево Фенвика позволяло вычислять значение операции
на отрезке с помощью формулы включений-исключений и запросов и . Встречное дерево Фенвика позволяет нам сразу обрабатывать запрос вида