Деревья отрезков (2 декабря 2016)
- [10 минут] feelgood: даны ai > 0, найти отрезок такой, что min × ∑ → max
- Напоминание: у нас уже было решение за O(n) стеком...
- Решение с помощью СНМ
- Решение деревом отрезков
- [20 минут] Задачи на дерево отрезков (кодим)
- Снизу: присваивание в точке, сумма на отрезке [code]
- Сверху: присваивание в точке, сумма на отрезке [code]
- Динамическое [code]
- [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)