Несогласованные поддеревья. Реализация массового обновления
Версия от 05:36, 17 апреля 2011; Rybak (обсуждение | вклад)
Несогласованные поддеревья
В несогласованном поддереве дерева отрезков в вершинах хранятся не истинные значения сумм на отрезках (по операции
). При этом в корне поддерева, которому соответствует отрезок хранится несогласованность . Для того чтобы узнать истинное значение нужно «собрать» все несогласованности на пути от вершины к корню дерева: . То есть для этого необходимо, чтобы вторая операция была ассоциативной. Если в вершине хранится истинное значение суммы, то — нейтральный элемент относительно операции .Массовые операции
Рассмотрим два примера: присваивание на отрезке и прибавление на отрезке.
Присваивание
Для того, чтобы присвоить всем элементам на отрезке новое значение, его нужно, как в обычном запросе разбить на
отрезков, которые соответствуют некоторым вершинам, и в соответствующие узлы добавить несогласованность: .