알고리즘 설계 및 분석 - 동적 프로그래밍

동적 프로그래밍 알고리즘의 첫째, 이해

  동적 프로그래밍 알고리즘 분할 컨커 공통점 원래 문제는 몇몇 서브 문제로 분해되어 매우 비슷은 원래 문제의 솔루션은 다음 서브 문제 발견. 동적 프로그래밍의 서브 문제가 종종 겹쳐 서로 독립적이지 차이이다. 그래서 이중 계산을 방지하기 위해, 당신은 다시 문제가 아이에 직면했을 때, 해결 된 답변을 얻을 수있는 룩업 테이블을 아이의 문제를 기록하는 테이블을 만들 수 있습니다. 이 알고리즘은 일반적으로 대부분의 속성의 문제점을 해결하기 위해 사용하고, 또한 최적의 하위 문제와 중첩 특성, 즉, 하부 구조의 중첩 성질의 특성 및 최적의 하위 문제를 갖고있다.

  동적 프로그래밍 알고리즘이와 기본 단계는 이러한 문제를 해결하기 위해 :

도 1은 재귀 적 관계 (즉, 물품 순환 식) (3) 서브 문제의 최적 값을 설정하는 특성 및 (2)의 구조의 최적의 해결책을 찾기 위해 상향식 재귀 형태의 최적 값을 계산하는데 (하향식 일 수있다 문제의 최적해 4. 즉 메모 법)에 최적의 솔루션이 세 번째 단계에서 얻어진 정보를 기록 할 수있는 최적 값 용액을 설정 구하는 것이 필요하다.

 

둘째, 순환 식

n은 이루어지는 1 단조 긴 시퀀스는 시퀀스의 수만큼 증가된다.

반복 식 : LEN [I] = 최대 (LEN [j]가 + 1) (0 <J <ⅰ), LEN은 [I]에 처음부터 단조의 긴 순서를 나타내고, i 번째 번호 서열로 이루어지는를 증분 길이

N 양쯔강 요트 대여 스테이션 1, 2, ..., n은 세트 2. 장강 요트 클럽. 방문객들은이 요트 대여 역에서 요트 임대 및 다운 스트림 어떤 보트 대여 역에서 요트를 반환 할 수 있습니다. 요트 대여 단말기 나 R (I, J), 제 1 역 J 간의 임대 보트되는 임대 <= 난 J <= N <을. 보트 1 임대 역 보트에서 임대 스테이션 N을 임대하는 데 필요한 최소를 계산하는 알고리즘을 설계하려고합니다.

반복 식 임대 [I] [J] = 분 (I <K <= J) ([I] [K] 임대 + [K] [J] 임대), [I] [J] 임대 i 번째를 나타낸다 j 번째 임대 스테이션에 임대 스테이션은 최소한의 임대료를 요구

 

쌍 셋째, 프로그래밍

몇 가지 매우 좋은 상황을 프로그래밍이 쌍은 서로, 그들은 문제, 높은 효율을 감지하고 해결하기 위해 프로그램 될 수있다 통신합니다.

 

 

추천

출처www.cnblogs.com/Jettle/p/11788021.html