2018. 9. 6. 10:42, 알고리즘/BOJ
https://www.acmicpc.net/problem/12982
각 박스에 공이 K개 이상이라면 K개 미만이 될 때 까지 일단 K개씩 계속 빼줍니다. 그렇게 된 다음에 남은 갯수를 봅시다. 예를 들어 K = 5이고 1 1 2 0 4 가 남았으면 4는 4를 묶음으로 처리하고 남은 1 1 2는 서로 다른 공을 넣는 방식으로 박스 2개를 사용해 처리할 수 있습니다. 어디까지 묶음으로 처리하고 어디까지 서로 다른 공을 넣는 방식으로 처리할지 $O(K)$에 걸쳐 찾아보면 됩니다. 수학적으로 엄밀하게 증명한건 아니지만 이것보다 더 작게할 수 있는 방법이 있다면 모순이 있다는 방식으로 유도할 수 있을 것 같습니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 16139번: 인간-컴퓨터 상호작용 (0) | 2018.09.15 |
---|---|
[BOJ] 1042번: 움 (0) | 2018.09.15 |
[BOJ] 3648번: Idol (0) | 2018.09.06 |
[BOJ] 3090번: ŽIVICA (0) | 2018.09.05 |
[BOJ] 3079번: AERODROM (0) | 2018.09.04 |
[BOJ] 2792번: LJUBOMORA (0) | 2018.09.04 |
Comments