aux(n, k) : k 번째 수를 포함하는 합이 최대값이 되는 경로의 합
aux(n,k ) = max(aux(n-1, k-1), aux(n-1, k)) + value[n, k]
f(n) : max(aux(n, 0)...aux(n-1))
구현해보니 정답이 되네요.
1932번 - 정수 삼각형
aux(n, k) : k 번째 수를 포함하는 합이 최대값이 되는 경로의 합
aux(n,k ) = max(aux(n-1, k-1), aux(n-1, k)) + value[n, k]
f(n) : max(aux(n, 0)...aux(n-1))
구현해보니 정답이 되네요.
n이랑 k가 1인 경우는 aux(0,0) aux(0,1)중에서 고르게되는 데 aux(0,1)은 안나오지 않나요...??
aux(0,1)은 -1이라서 상관없나요?
범위 밖을 참조할때는 0을 반환하게끔 해주었습니다.
재귀함수의 base case가 0인 셈이겠네요.
1
1
과 같이 말씀하신 경우라면 max(0, 0) + 1 이 되겠습니다.
감사합니다! 설명 잘들었습니다.
댓글을 작성하려면 로그인해야 합니다.
ventulus95 5년 전
bottom-up으로는 문제를 풀었는데요. top-down형식으로는 못 풀겠더라구요. 여기서 말하는 top-down방식이 다른분들이 생각하는 것과 좀 다를수도 있는데요.
저는 대부분의 top-down방식의 dp을 생각할때 n을선택하고 n을 작은수로 쪼개가면서 문제를 푸는 방식으로 생각했는데요. 혹시 이방식은 틀린건가요?
dp굇수님들의 조언 부탁드립니다.