Пожалуйста, ознакомьтесь с этой проблемой у меня есть:Динамическое программирование игр Карта
«Вы и ваши восемь-летний племянник Elmo решили сыграть простую карточную игру в начале игры, карты розданы. лицом к лицу в длинном ряду. Каждая карта стоит другого номера пунктов. После того, как все карты будут сданы, вы и Эльмо по очереди удаляете самую левую или самую верхнюю картуиз строки, пока все карты не исчезнут. каждый ход, вы можете решить, какой из взять две карты. Победителем игры является игрок, набравший наибольшее количество очков , когда игра заканчивается. Не взяв класс алгоритмов, E lmo следует за очевидной жадной стратегией, когда он свою очередь, Elmo всегда берет карту с более высоким значением точки. Ваша задача - найти стратегию , которая по возможности побьет Элмо. (Может показаться, что это избиение такого маленького ребенка, но Elmo абсолютно ненавидит его, когда взрослые позволяют ему побеждать.)
Опишите и проанализируйте алгоритм для определения, учитывая начальную последовательность карт, Максимальное количество очков, которые вы можете собрать, играя против Elmo. "
Я уже проделал большую часть теоретической работы в этой проблеме. Например, я сделал демонстрацию подстроки optimus, которая необходима для DP, и Я определил рекурсивную неэффективную форму, которая объясняет, как игра будет выполнена. Теперь следующим шагом будет разработка алгоритма восходящего восходящего потока, который эффективно решает эту проблему или, если это может помочь, решение для замещения сверху вниз. не делайте никого из них. Вы решите эту проблему?