[BOJ] 8872번: 빌라봉

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


connected component 각각을 하나의 vertex로 보고, 여기서 N-M-1개의 edge를 추가해 tree를 만든다고 해봅시다. tree를 뭐 어찌저찌 만들어놓고 가장 오래 걸릴 경로를 생각해보면 각 connected component에서 연결된 edge가 부착된 점까지의 거리가 가장 긴 점이고, 이는 곧 해당 connected component에서의 반지름을 최대한 작게 만들어야 하는 문제로 치환할 수 있습니다.


그리고 connected component간의 연결은 가장 반지름이 긴 connected component에서 불가사리 형식으로 된 것이 가장 효율적임을 알 수 있습니다.


https://github.com/blisstoner/BOJ/blob/master/8872.cpp

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 10986번: 나머지 합  (0) 2018.07.16
[BOJ] 13546번: 수열과 쿼리 4  (2) 2018.07.16
[BOJ] 14859번: 세 쌍 서로수  (0) 2018.07.15
[BOJ] 1994번: 등차수열  (0) 2018.07.15
[BOJ] 14921번: 용액 합성하기  (0) 2018.07.14
[BOJ] 2033번: 반올림  (0) 2018.07.14
  Comments