Простой пример для кого-то, кто хочет понять [закрытое] Динамическое программирование

редактирование этот ответ был перед редактированием; для ответа на обновленную проблему см. этот ответ .

, Почему использование LINQ? Существует конструктор для этого:

new SortedDictionary(existing);

Вы могли добавлять ToSortedDictionary - но я не обеспокоился бы...

94
задан Community 23 May 2017 в 12:02
поделиться

3 ответа

29
ответ дан 24 November 2019 в 06:09
поделиться

Идея динамического программирования заключается в том, что вы кэшируете (запоминаете) решения подзадач, хотя я думаю, что это еще не все.

Есть много проблем с Google Code Jam, например решения требуют динамического программирования, чтобы быть эффективными. Примеры:

Добро пожаловать в Code Jam (умеренный)

Обман логического дерева (средний)

PermRLE (сложный)

Обратите внимание, что в каждом практическом конкурсе Code Jam есть раздел «Анализ конкурса», если вы в тупике, пытаясь решить проблему.

7
ответ дан 24 November 2019 в 06:09
поделиться

Расчет расстояний Левенштейна был одним из первых задач, которые я решил с помощью динамического программирования; Я думаю, что это достойный следующий шаг от последовательности Фибоначчи с точки зрения сложности.

http://en.wikipedia.org/wiki/Levenshtein_distance

4
ответ дан 24 November 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: