Публикации по теме 'dynamic-programming'


Нисходящее динамическое программирование и мемоизация
В моей предыдущей статье мы видели восходящий подход или табуляцию для решения проблем. В этой статье мы собираемся выбрать ту же задачу по вычислению n-го числа Фибоначчи ряда Фибоначчи, используя другой метод, называемый подходом сверху вниз. Подобно тому, как при восходящем подходе мы дошли до сути проблемы и решили подзадачи, прежде чем перейти к решению основной проблемы, нисходящий подход прямо противоположен этому. А если наоборот, то вы говорите, что мы начнем с решения..

Биномиальный коэффициент DP (MondayAlgo #7)
Как эффективно подсчитать количество способов выбрать k элементов из n доступных. Математика Биномиальные коэффициенты имеют дело с вопросами типа «n выбирают k» = сколькими способами я могу выбрать k элементов из n доступных?. Например, сколькими способами мы можем выбрать 4 различных числа из первых 10 натуральных чисел? Ну, это то же самое, что попросить 10 выбрать 4 , то есть 210. Формула для расчета биномиальных коэффициентов: От математики к коду Оказывается, хотя..

Обучение с подкреплением: навигация в системе метро
Вы находитесь на обзорной экскурсии по прекрасному городу Вене. Чтобы перемещаться по городу, предположим, что вы движетесь по одномерному промежутку (например, по карте метро). Вы хотите добраться до достопримечательности (собора Святого Стефана) в состоянии 15, чтобы сделать снимки, которые принесут вам наибольшую пользу, т. е. наибольшую награду. Чтобы попасть туда, у вас есть 4 действия: иди направо идти налево садитесь на метро M1 садитесь на метро M2 Чтобы найти..

Серия вопросов для интервью, часть 1 — Динамическое программирование | Найдите максимальную прибыль в планировании работы
Недавно я наткнулся на вопрос интервью, размещенный на Geeks For Geeks ! Несмотря на то, что вопросы могут быть разными, первые раунды обычно представляют собой тесты по кодированию, и всегда полезно немного попрактиковаться в таких вопросах динамического программирования. Даны три массива, называемые pickup, drop и tip. Найдите максимальную прибыль, которую может заработать курьер. Парень может обрабатывать только одну доставку за раз. Пример: Он получает прибыль в размере 5 -..

Динамическое программирование: мемоизация
Динамическое программирование может быть одной из самых сложных концепций в изучении структур данных и алгоритмов не потому, что особенно трудно понять решения, написанные с использованием шаблонов динамического программирования, а потому, что очень трудно распознать проблему, которую можно решить с помощью динамического программирования. а затем выполнить решение. Как правило, одним из преимуществ решения DP является возможность написать рекурсивное решение. Однако не все рекурсивные..

Проблема с кувшином для воды : наивное решение
Итак, на 7-м семестре Btech-CSE меня зачислили на курс искусственного интеллекта. Я был немного взволнован, чтобы узнать модные вещи, происходящие. ИИ (причудливый термин) — это не что иное, как алгоритмы, манипулирование алгоритмами. В качестве первого шага к изучению ИИ нам поручили создать наивную логику для задачи о кувшине с водой. Проблема Есть два кувшина объемом A литр и B литр. Теперь нам нужно проследить все возможные пути последующего перелива воды, чтобы в..

Базовый анализ динамического программирования.
Динамическое программирование (DP) - это простой метод, но его сложно освоить. Один из простых способов выявить и решить проблемы DP - решить как можно больше проблем. Термин «программирование» не имеет отношения к кодированию, но взят из литературы и означает заполнение таблиц (аналогично линейному программированию). Динамическое программирование и запоминание работают вместе. Основное различие между динамическим программированием и «разделяй и властвуй» состоит в том, что в последнем..