이 문제를 확인하시기 바랍니다 내가 가진 :동적 프로그래밍 카드 게임
는 "당신과 당신의 여덟 살짜리 조카 엘모 간단한 카드 게임을하기로 결정 게임의 시작 에서 카드가 처리된다. 각 카드는 다른 숫자의 가치가 있습니다 포인트의 카드입니다. 모든 카드가 처리 된 후, 엘모는 모든 카드가 사라질 때까지 가장 왼쪽 또는 가장 가까운 카드를 제거합니다. 게임을 끝내면 중 가장 많은 점수를 얻은 플레이어가 알고리즘 클래스를 사용하지 않은 경우, E lmo는 명백한 욕심쟁이 전략을 따릅니다. 언제입니까? 그의 차례가되면 Elmo는 항상 더 높은 점수 값으로 카드를 가져옵니다. 가능한 한 언제든지 Elmo를 이길 전략 을 찾는 것입니다. (이런 어린 아이를 두들겨려는 의미로 보일지 모르지만, 어른이 어른이되면 그를 싫어한다.)
카드의 초기 순서가 주어지면 알고리즘을 기술하고 분석하여 Elmo와 플레이 할 수있는 최대 포인트 수 "
나는이 문제에 대한 이론적 인 작업을 이미 끝냈습니다. 예를 들어 DP에 필요한 optimus 하부 구조 데모를 수행했습니다. 나는 게임이 어떻게 끝나는지를 설명하는 재귀 비효율적 인 형태를 정의했다. 다음 단계는이 문제를 효율적으로 해결하는 상향식 알고리즘을 설계하는 것이거나, 도움이된다면 하향식 메모 솔루션이다. 그들 중 어떤 것도하지 마라. uld 당신이이 문제를 해결합니까?