Skip to content

Conversation

@ShinHeeEul
Copy link
Contributor

🧷 문제 링크

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

🧭 풀이 시간

120+분

👀 체감 난이도

✏️ 문제 설명

은진이는 발전소에서 근무한다. 은진이가 회사에서 잠깐 잘 때마다, 몇몇 발전소가 고장이난다. 게다가, 지금 은진이의 보스 형택이가 은진이의 사무실로 걸어오고 있다. 만약 은진이가 형택이가 들어오기 전까지 발전소를 고쳐놓지 못한다면, 은진이는 해고당할 것이다.

발전소를 고치는 방법은 간단하다. 고장나지 않은 발전소를 이용해서 고장난 발전소를 재시작하면 된다. 하지만, 이때 비용이 발생한다. 이 비용은 어떤 발전소에서 어떤 발전소를 재시작하느냐에 따라 다르다.

적어도 P개의 발전소가 고장나 있지 않도록, 발전소를 고치는 비용의 최솟값을 구하는 프로그램을 작성하시오.

🔍 풀이 방법

비트 + DP 으로 현재 켜져있는 발전소부터, 어느 발전소를 켤 수 있는 지를 DP 방식으로 쌓아간다. 현재 켜져있는 발전소가 P개 이상일 때 min 값을 업데이트한다.

⏳ 회고

비트 DP 탑 다운 방식을 연습 하려고, P5짜리 선택한거였는데, 바텀 업으로 해야 풀리는 방식이었다.. 원래 하던대로 할껄

@ShinHeeEul ShinHeeEul added success 👍 해설을 보지 않고 풀었을 때 timeout ⌚ 목표 시간보다 오래걸렸을 때 labels Mar 2, 2025
@ShinHeeEul ShinHeeEul self-assigned this Mar 2, 2025
@ShinHeeEul ShinHeeEul merged commit 80e6689 into main Mar 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때 timeout ⌚ 목표 시간보다 오래걸렸을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants