문제 링크
- http://icpc.me/12920
사용 알고리즘
- DP
시간복잡도
- $O(NM \log K)$
풀이
각 물건을 K개씩 만들어주면 $O(NMK)$에 풀 수 있습니다.
각 물건을 K개씩 만들어주는 대신, $2^0$개, $2^1$개, $2^2$개, … , $2^t$개, $K-2^{t+1}+1$개를 나타내는 물건을 만들어주면 각 물건이 $O(\log K)$개로 바뀌므로 $O(NM \log K)$에 풀 수 있습니다.
전체 코드
1 |
|
각 물건을 K개씩 만들어주면 $O(NMK)$에 풀 수 있습니다.
각 물건을 K개씩 만들어주는 대신, $2^0$개, $2^1$개, $2^2$개, … , $2^t$개, $K-2^{t+1}+1$개를 나타내는 물건을 만들어주면 각 물건이 $O(\log K)$개로 바뀌므로 $O(NM \log K)$에 풀 수 있습니다.
1 |
|