문제 링크
- http://icpc.me/13260
사용 알고리즘
- DP
- Knuth optimization
시간복잡도
- O(n2)
풀이
dp[i][j]를 i번째 위치부터 j번째 위치까지 자르는 비용이라고 정의합시다.
C[i][j]를 i번째 위치부터 j번째 위치까지의 길이라고 정의합시다.
dp[i][j] = min(dp[i][k] + dp[k][j]) + C[i][j]
라는 점화식을 세울 수 있습니다.
C배열은 사각부등식과 단조성을 만족하기 때문에 Knuth Optimization을 적용시킬 수 있습니다.
전체 코드
1 |
|