우리 보통 동전 변경 문제에 대해 다음과 재발의 관계 : 동전 변경 (동적 프로그래밍)
(P
우리가 바꿀 필요 d_i
하는 전체 돈은 사용할 수있는 동전입니다)하지만 할 수 없습니다 우리는 이런 식으로합니다
C[p,Vi,j] = C[p,Vi,j-1] if Vj > p
= C[p-Vj,Vi,j] + 1 if Vj <=p
,691 (
V
가능한 동전의 주어진 소트 세트,
i
및
j
이
Vj
주어진 가장 높은 값 동전되는과의 첨자가있다)
내가 쓴 것에 문제가 있습니까? 솔루션은 역동적이지는 않지만 더 효율적이지는 않습니까?
V가 1 단위의 동전을 가지고 있다고 가정하지 않습니다. P = 7이고 V = [3, 2] 인 경우, 가치 3 동전을 2 개 얻은 다음 1 가치 3 동전과 2 가치 2 동전 대신 오류가 발생합니다. –
@LastCoder 귀하의 요지가 있습니다. 위의 해법은 우리가 1 단위의 동전을 가지고 있다고 가정합니다. 이제 다음 것은 우리가 1 단위의 동전을 받았다면 위의 것이 더 효율적인 해결책이되고 역동적 인 해결책이 될 것입니다, 그렇습니까? – Gaurav
수식에'Vi'를 어디에 사용합니까? – IVlad