Задачи стек (21 октября 2016)
- Разбор контеста на динамику
- [7 минут] nearest (наилучшее приближение, расставить плюсы и минусы)
- Кодинг
- [10 минут] Дек на циклическом массиве своими руками. Сравнение: дек на списках, дек на массиве.
- [7 минут] Двусвязный список с удалением (задача про детей, которые стоят по кругу)
- Теория
- [10 минут] Динамический массив (vector): избавимся от амортизации, ленивое копирование (a[i] и push_back за O(1) в худшем)
- [30 минут] Задачи на стек
- Несколько типов скобок. Проверить на правильность. Найти парные скобки. O(n).
- Ближайший слева меньший, ближайший справа меньший за O(n).
- Массив положительных чисел, ищем отрезок: ∑ × min → max
- Ищем за O(wh) подпрямоугольник из нулей максимальной площади в матрице
- [40 минут] Дополнительные задачи
- Посчитать по всем отрезкам массива сумму "минимум на отрезке" за O(n)
- Найти количество подпрямоугольников из нулей в матрице
- Несколько типов скобок. Найти максимальную по длине подстроку, являющуюся правильной скобочной последовательностью за O(n).
- По бесконечной прямой в одну сторону идут группы людей, скорость движения группы обратно пропорциональна количеству людей. Когда одна группа догоняет другую, оги объединяются. Сколько в итоге групп останется?
- [skipped] Найти k-ю скобочную последовательность из m типов скобок.
- [skipped] Разбор выражений стеком