BOJ 2315 : 가로등 끄기

2021. 11. 16. 01:20PS/DP

https://www.acmicpc.net/problem/2315

dp로 풀 수 있다.

dp[i][j][k] = i부터 j까지의 가로등을 모두 끄고 현재 위치가 (k==0 ? 앞 : 뒤)일때의 전력의 최솟값

cur : 현 위치, w : 시간당 전력소비량

dp[i-1][j][k] = min(dp[i-1][j][k], dp[i][j][k]+(cur-a[i-1].x)*w) (왼쪽으로 가서 끌 때)

dp[i][j+1][k] = min(dp[i][j+1][k], dp[i][j][k]+(a[j+1].x-cur)*w) (오른쪽으로 가서 끌 때)

w는 prefix sum을 통해 구할 수 있다.

 

이건 자력으로 풀었는데, 지금 보면 이걸 어떻게 자력으로 풀었나 싶을 정도로 어렵다고 생각한다.

코드

'PS > DP' 카테고리의 다른 글

BOJ 18118 : 7-세그먼트 디스플레이  (0) 2022.02.05
BOJ 1126 : 같은 탑  (0) 2021.11.16
BOJ 9520 : NP-Hard  (0) 2021.11.16
BOJ 5573 : 산책  (0) 2021.11.16
BOJ 1023 : 올바른 괄호  (0) 2021.08.17