Задача 537. Перестановки - 3
Давно не было решений на С++. Сегодня разберём непростую задачу на динамическое программирование по подмножествам, которую на Python затолкать в ограничения очень сложно. Читаем условие: Почти всегда, когда в задаче есть перебор перестановок, можно решение за O(N!) заменить решением за O(N * 2^N), используя динамическое программирование по подмножествам. Это всё ещё экспоненциальное решение, но константа сильно меньше. В нашем случае, если решать задачу в лоб, то надо каждую перестановку ещё проверять на удовлетворение условий К-перестановки...
3 недели назад
🧠 Динамическое программирование: почему здесь нет программирования?
Когда программисты впервые сталкиваются с термином «динамическое программирование», многие чувствуют себя растерянно: слово «динамическое» звучит загадочно, а «программирование» вроде бы указывает на написание кода. Но истина в том, что этот термин вовсе не связан с компьютерным программированием. Его корни уходят глубже, в историю планирования и управления проектами. 🎯 Что же такое «программирование» в этом контексте? В английском языке слово programming долгое время означало не только создание компьютерных программ, но и составление детальных планов и расписаний...