333
правки
Изменения
→push
=== push ===
void push(int node) {
tree[2 * node + 2].d = tree[2 * node + 2].d <tex>\odot</tex> tree[node].d;
tree[node].d = <tex>\perp</tex>; // Нейтральный элемент
}
=== update ===
Процедура обновления на отрезке. Данная процедура выполняет разбиение текущего отрезка на подотрезки и обновление в них несогласованности. Очень важно выполнить push как только идет рекурсивный вызов от детей, чтобы избежать некорректной обработки в детях. И так как значение в детях могло измениться, то необходимо выполнить обновление ответа по операций <tex>\oplus</tex> на текущем отрезке.