모델의 세일즈맨 문제 단순화 된 버전을 여행

배운, 나는 동적 프로그래밍의 선형 모델을 얻었다.

이런 경우에, 나는 간단히 질문의 의미를 설명 여행하는 세일즈맨 문제의 더 단순화 된 버전을 것입니다.

원래 외판원 문제는 각 도시에 짧은 루프 접속 한과 도시 사이에 하나의 랩을 가지고 찾는 것입니다. 이제 제한을 추가 : 각 도시의 경우, 모든 숫자 또는 전체 액세스 권한이없는 모든 사람이 작은 도시보다 도시를 방문했다. 전체를 위해 우리는 큐 추상적 인 양방향 큐에 접근 할 수 있도록.

고정 1,1를 추가하여 시작합니다.
도 1은
다음 2,2- 위치는 전방 1 뒤에 부가 될 수있다.
2. (1)
(2) (1)
두 경우 모두는 우리는 또한 큐의 3,3 위치를 추가 할 수 있지만 앞 또는 큐의 중간 뒤에 수, 합법적이다.
. (1) (2) (3)
. 1 2 3
3 2 1
2 3 (1)
n이 3과 같다 경우에만 정당 네. 다음 동작에 대한 영향력 큐 상태의 요소의 단부를 가압. 따라서, 우리는 (I, J)의 상태를 정의하는 두 개의 큐는 i와 j로 표시되고 난 현재 대기열의 최소 비용, 최대 요소 나 J 남아보다 클 것이다. (두 번째 경우와 세 번째 경우는 동일하다) 우리는 상태 천이 방정식을 얻는다.

dp[i+1][j]=min(dp[i+1][j],dp[i][j]+dis[i+1][i]);
dp[i+1][i]=min(dp[i+1][i],dp[i][j]+dis[i+1][j]);

크기 N, N-1의 문제점은, 실제로 실현 가능한 솔루션 만 유효하다.

그리고 마지막에 대한 해결, 우리

dp[n][i](i<n)

최소값을 추구합니다.

추천

출처www.cnblogs.com/Schwarzkopf-Henkal/p/11752379.html