1029번 - 그림 교환
2차원 비트마스크로 하려고합니다.
[2^(N-1)][N] 만큼 잡고요...
D[i][j]가 arr[j][k]값보다 작거나 같으면 j번째 사람이 k번째 사람에게 팔 수 있으므로 팔고, D[i|(1<<k)][k]값은 arr[j][k]로 두었습니다.
점화식이 잘못 되었나요...?
사람의 최대값을 구하려면 그림을 팔때마다 최대한 가격의 증가폭을 줄여야 하겠죠?
그런데 지금 코드에는 그런 처리가 없습니다. 단순히 살 수 있으면 그 가격을 저장하는 방법만이 사용되고 있죠.
즉, dy[i|(1<<k)][k] 에는 i | (1 << k) 만큼을 거치면서, 그림이 k 에 있는 경우들 중 가장 가격변동이 작은것이 저장되어있어야 합니다.
댓글을 작성하려면 로그인해야 합니다.
crasy111 7년 전
2차원 비트마스크로 하려고합니다.
[2^(N-1)][N] 만큼 잡고요...
D[i][j]가 arr[j][k]값보다 작거나 같으면 j번째 사람이 k번째 사람에게 팔 수 있으므로 팔고, D[i|(1<<k)][k]값은 arr[j][k]로 두었습니다.
점화식이 잘못 되었나요...?