Решим следующую задачу:
Дана таблица $$$n \cdot m$$$, поступают 2 вида запросов в онлайне:
1) Прибавить $$$X$$$ на прямоугольнике $$$[l1, r1], [l2, r2]$$$, помимо ассоциативности операция должна быть коммутативна, например присваивание не подойдёт.
2) Посчитать сумму (минимум, ...) на прямоугольнике $$$[l1, r1], [l2, r2]$$$.
Сначала разберём, как делать прибавление на отрезке и сумму на отрезке без пушей в одномерном ДО.
В каждой вершине будем хранить 2 числа: сумму в поддереве и сколько мы прибавим каждому элементу в поддереве, тогда запросом обновления корректно пересчитаем все вершины, которые были посещены нашей функцией
(/predownloaded/8f/d6/8fd6222dd559c4f21e20da5a2dce69f699641a25.png)
Сделаем ДО по первой координате, в каждой вершине которого будет ДО на сумму, отвечающее за прямоугольник [l, r] [0, m]