Основные концепции DP, мемоизация и табуляция на классических примерах: числа Фибоначчи и задача о рюкзаке.
Поиск кратчайшего пути в графе с неотрицательными весами рёбер. Разбор реализации с очередью с приоритетом.
Как быстро находить элементы в отсортированном массиве, поиск по ответу и тернарный поиск.
Структура данных для эффективного выполнения запросов на отрезках массива и модификации элементов.
Как работают хеш-функции, методы разрешения коллизий (открытая адресация и метод цепочек).
Реализация DSU с эвристиками сжатия путей и объединения по рангу. Применение в алгоритме Краскала.
Зачем программисту линейная алгебра? Геометрическая интуиция матричных преобразований, векторные пространства, собственные векторы и применение в ML и 3D-графике.
От производной функции одной переменной до градиентного спуска (Gradient Descent), частных производных и оптимизации многомерных функций.
Логический фундамент компьютерных наук. Дизъюнктивные нормальные формы, минимизация булевых функций, изоморфизм и раскраска графов.
Случайные величины, распределения, условная вероятность, плотности вероятностей и применение Марковских цепей в алгоритмах.
Как комплексные числа и гармонический анализ позволяют перемножать многочлены за O(N log N) и сжимать звуковые волны.