Пристрелочная лекция
- Алгоритм A* (модификация Дейкстры)
- Собственно алгоритм и доказательство корректности
- Почему быстрей работает?
- Задача "самый длинный путь в графе"
- Решение динамикой за O(2nn2)
- Перебор с запоминанием за O(2nn2) (ленивая динамика)
- Отсечение по ответу
- Применяем A* (улучшаем с помощью этого отсечение по ответу)
- Перебор подмножеств всех множеств за 3n
- Кодирование множеств n-битовыми числами
- Собственно перебор подмножеств и надмножеств
- Раскраска вершин графа в минимальное число цветов за O(3n)
- Предподсчет за O(2nn2) − является подмножество антикликой
- Предподсчет за O(2n) (научились делать все операции с множествами за O(1))
- Решение исходной задачи динамикой f[set] = min_colors
- Разбиения на слагаемые
- Количество разбиений числа N на упорядоченные возрастающие различные слагаемые
- За O(N2)
- За O(N2) с O(N) памяти
- Различные/с повторениями
- k-слагаемых/максимальное не больше k
- За O(N√ N ) с O(N) памяти