문제 링크
- http://icpc.me/19343
사용 알고리즘
- Bit DP
시간복잡도
- $O(N \times 2^N)$
풀이
$N \leq 24$이므로 Bit DP를 합시다.
D(bit) = 현재 bit처럼 물건을 가져갔을 때 (사용한 가방의 개수, 마지막 가방에서 사용한 용량)의 최솟값
으로 정의해서 Bit DP를 하면 됩니다.
켜져있는 bit가 작은 것부터 하나씩 채워주면 됩니다.
전체 코드
1 |
|
$N \leq 24$이므로 Bit DP를 합시다.
D(bit) = 현재 bit처럼 물건을 가져갔을 때 (사용한 가방의 개수, 마지막 가방에서 사용한 용량)의 최솟값
으로 정의해서 Bit DP를 하면 됩니다.
켜져있는 bit가 작은 것부터 하나씩 채워주면 됩니다.
1 |
|