티스토리 뷰

문제

BOJ 1819 불끄기

klimmek55 2018. 10. 25. 22:27

불끄기
(http://boj.kr/1819)


\(T\)의 제한이 작다는 부분에서 힌트를 얻었다.

우선 버튼의 순서는 중요하지 않다는 것은 당연하고,
같은 버튼을 두 번 이상 사용할 필요가 없다는 것도 당연하다.

그러면 이제 왼쪽부터 차례대로 이 버튼을 사용할지 말지를 결정하면 되는데,
이 부분을 DP로 결정한다.
여러 방법이 있겠지만, \(D_{ij}\)를 \(i\)번째 전구부터 \(T\)개의 상태가 \(j\)일 때, \(i\)번째 전까지 켜진 불의 개수로 정했다. (왜냐면, \(i\)번째 전구의 앞은 더 이상 바꿀 일이 없고, 앞으로 \(T\)개는 현재 영향을 미치는 범위다.)
\(j\)는 비트를 이용해 나타낼 수 있고, 버튼의 순서는 버튼을 눌렀을 때마다 기록해둬서 찾으면 된다.

비트를 사용하는 DP라는걸 알아채서 다행인데, 비트가 나오면 머리가 정리가 안 돼서 코드를 못 쓰겠다.


'문제' 카테고리의 다른 글

BOJ 2867 수열의 값  (0) 2018.11.11
Codeforces 1070C Cloud Computing  (0) 2018.11.11
BOJ 12945 재미있는 박스 정리  (0) 2018.09.26
BOJ 12932 노래방  (0) 2018.09.20
BOJ 2171 직사각형의 개수  (0) 2018.08.12
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함