110661 백준 11066번 : 파일합치기[java] dp[i][j]는 i번 파일부터 j번 파일을 합치는데 든 최소비용이다. dp[i][i]는 chapter[i]이고, dp[i][i+1]은 chapter[i] + chapter[i+1] = sum[i] - sum[i-1]이다. dp[i][i+2]부턴 i과 i+1번을 합친 후 i+2번을 합치기, i+1번과 i+2번을 합친 후 i번을 합치기 중 선택해야 한다. 이를 식으로 나타내면, dp[i][i] + dp[i+1][i+2] + (sum[i+2] - sum[i-1]) 와 dp[i][i+1] + dp[i+2][i+2] + (sum[i+2] - sum[i-1]) 중 더 작은 수가 dp[i][i+2]이다. sum[i+2] - sum[i-1]은 현재 합치려는 파일 2개를 합치는데 사용하는데 드는 비용이다. 여기서 fr.. 2023. 2. 10. 이전 1 다음 반응형