BOJ 2618 : 경찰차
2021. 4. 30. 10:24ㆍPS/DP
아주 왤논 dp. 쫄고 있었는데 의외로 쉬워서 놀랐다.
환상의 듀엣 문제(먼저 보고 오는 걸 추천.)와 비슷한 느낌으로 dp를 해보자.
dp[i][j] = i번째 사건을 1번 경찰차가, j번째 사건을 2번 경찰차가 담당할때 최적해.
dist(i, j) = i번째 사건과 j번째 사건 사이의 유클리드 거리.
nxt = 다음 사건.
이라고 정의한다면
dp[i][nxt] = min(dp[i][j] + dist(j, nxt), dp[i][nxt])
dp[nxt][j] = min(dp[i][j] + dist(i, nxt), dp[nxt][j])
역추적 때문에 탑다운으로 짰다.
'PS > DP' 카테고리의 다른 글
BOJ 1056 : 수 (2) | 2021.07.29 |
---|---|
BOJ 20984 : Growing Vegetables is Fun 4 (0) | 2021.05.11 |
BOJ 11570 : 환상의 듀엣 (0) | 2021.04.30 |
BOJ 14728 : 벼락치기 (0) | 2021.01.10 |
BOJ 2688 : 줄어들지 않아 (0) | 2020.08.17 |