Дерево отрезков для произвольной ассоциативной операции (сумма, минимум, максимум, НОД…).
Изменение элемента и запрос на отрезке — O(log n), построение — O(n).
Операция не обязана быть коммутативной: порядок элементов сохраняется.
Отрезки задаются полуинтервалом [from, to), как в Array#slice.
Дерево отрезков для произвольной ассоциативной операции (сумма, минимум, максимум, НОД…). Изменение элемента и запрос на отрезке — O(log n), построение — O(n). Операция не обязана быть коммутативной: порядок элементов сохраняется.
Отрезки задаются полуинтервалом
[from, to), как вArray#slice.Example