$ Деревья отрезков (3 декабря)
d = @link:[code]:../src/2015-12-03
# [10 минут] feelgood: даны a_i > 0, найти отрезок такой, что min × ∑ → max
## Напоминание: у нас уже было решение за O(n) стеком...
## Решение с помощью СНМ
## Решение деревом отрезков
# [20 минут] Задачи на дерево отрезков (кодим)
## Снизу: присваивание в точке, сумма на отрезке $d$/down.cpp.html
## Сверху: присваивание в точке, сумма на отрезке $d$/up.cpp.html
## Динамическое $d$/up_dynamic.cpp.html
## Фенвика $d$/fenwick.cpp.html
# [30 минут] Задачи на дерево отрезков
## Другие операции на отрезке: произведение чисел на отрезке, произведение матриц, сумма линейных функций, gcd на отрезке
## painter: число черных отрезков, суммарная длина черного, операция "покрасить отрезок"
## nearandmore: get(i, x): ближайший j ≥ i: a[j] ≥ x; set(i, x): a[i] = x;
# [30 минут] Задачи на заметающую (сканирующую) прямую
## Offline. Даны m прямоугольников и n точек. Для каждого прямоугольника найти количество точек в нем. O((n+m)logn)
## Offline. Для перестановки на отрезке [l,r] научиться находить кол-во чисел от x до y
## Offline. Количество пар вложенных отрезков на прямой
## Количество k-инверсий в массиве за O(nklogn)