Семинар 2. Разное

Суббота, 21 сентября 2019
НГУ, ауд. 2128, НГУ, новый корпус

Описание

Задача о поддержании динамического максимума в стеке.

Два указателя. Поиск самого длинного подотрезка с суммой не более M. Основное свойство: R*(L+1) >= R*(L). Алгоритм и анализ сложности O(N).

Оценка практического быстродействия программы. Тактовая частота и кол-во операций в секунду. Оценка адекватности асимптотики по ограничениям.

Бинарный поиск. Вещественный и дискретный варианты. Тонкости реализации на примере std::lower_bound. Использование полуоткрытого интервала.

Бинарный поиск по ответу. Нахождение самого длинного подотрезка за O(N log N): бин. поиск и преф. суммы.

Обработка событий. Задача о поиске точки, принадлежащей максимальному кол-ву отрезков из заданного множества. Решение за O(N log N). Тонкости реализации (совпадающие события).

Видео для студентов заочного отделения: https://my.compscicenter.ru/courses/algorithms-1/nsk/2018-autumn/classes/4125/