Notice
Recent Posts
Recent Comments
Link
«   2026/03   »
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
Tags
more
Archives
Today
Total
관리 메뉴

jay153의 PS 일지

BOJ 1349 본문

BOJ

BOJ 1349

jay153 2025. 2. 21. 15:28

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

 

코드

http://boj.kr/01722eeb80874eb5a548de9a33448799

 

난이도 : P2

 

Elapse Time : 50min

 

문제를 보고 든 생각은 2개였다. 최종적으로 모든 도시 쌍이 연결되어 있어야 하고 그 비용을 최소화하는 문제이기 때문에 최소 스패닝 트리와 연관이 있을 것 같다는 것과 $N$이 많이 작아 모든 도시 쌍을 다 살펴보는 것이 가능하다는 것이었다. 이 문제에서는 도로의 추가가 없더라도 들어갈 수밖에 없는 고정 비용이 존재한다. 각 도시별로 추가적인 집을 짓는 데 $ \frac{(A_i-B_i)(A_i+B_i-1)C_i}{2}$의 비용이 들고, 연결된 $(i,j)$의 쌍에 대해 $(A_i-B_i)(A_j-B_j)\mathrm{min}(C_i,C_j)+B_iC_j(A_j-B_j)+B_jC_i(A_i-B_i)$의 비용이 든다. 우선 이 비용을 다 더하고 모든 쌍이 연결되어 있기 위해서 추가적으로 드는 비용을 최소화 하는 방법에 대해 생각했다. 여기서 이미 연결되어 있는 $(i,j)$에 대해서는 연결해도 추가 비용이 발생할 뿐이므로 연결할 필요가 없다. 연결되어 있지 않은 $(i,j)$에 대해서는 연결할 때 $(A_i-B_i)(A_j-B_j)\mathrm{min}(C_i,C_j)+B_iC_j(A_j-B_j)+B_jC_i(A_i-B_i)+(B_i+B_j)R$ 의 비용이 추가적으로 든다. $(i,j)$에 대해 연결하는 데 드는 추가비용이 고정되어 있으므로 모든 $(i,j)$쌍을 비용 순으로 정렬해 두고 최소 스패닝 트리를 만들듯이 모든 쌍이 연결되어 있도록 하는데 드는 추가비용의 최솟값을 계산했다. 여기서 이 풀이가 정당화되기 위해서는 최소 비용을 소모하기 위해 건설하는 집의 순서가 일관적이어야 한다는 것인데, 이 순서는 대해 $C_i$가 증가하는 순서이므로 일관적이다.

'BOJ' 카테고리의 다른 글

BOJ 17050  (0) 2025.02.21
BOJ 14849  (0) 2025.02.21
BOJ 31879  (0) 2025.02.20
BOJ 24233  (0) 2025.02.19
BOJ 23736  (0) 2025.02.19