Joonas' Note

Joonas' Note

BOJ 2887 - 행성 터널 본문

알고리즘/문제 풀이

BOJ 2887 - 행성 터널

2017. 11. 3. 15:46 joonas

    링크: https://www.acmicpc.net/problem/2887

    모든 행성을 터널로 연결할건데, 그 비용의 합이 최소가 되게 만드는 최소 스패닝 트리 문제이다.

    문제는 \(N\)이 너무 커서, 행성 사이의 간선을 전부 살피는 건 힘들다는 것이다.

    두 행성 A와 B의 거리를 \(min(|x_A - x_B|, |y_A - y_B|, |z_A - z_B|)\) 로 정의했기 때문에 어떤 행성에서 가장 가까울 행성의 후보가 확 줄어든다.

    행성 A에서 가장 가까운 행성 B는 \(|x_A - x_B|\)가 최소이거나 \(|y_A - y_B|\)가 최소이거나, \(|z_A - z_B|\)가 최소인 것 3개 중 하나이다.
    \(x, y, z\)마다 정렬하면 된다.


    '알고리즘 > 문제 풀이' 카테고리의 다른 글

    BOJ 2022 - 사다리  (0) 2018.02.08
    알고리즘 공부 순서  (0) 2017.12.08
    BOJ 2718 - 타일 채우기  (0) 2017.11.03
    BOJ 9373 - 복도 뚫기  (0) 2017.11.03
    더블릿 sumofinte - 연속 구간 합  (0) 2017.11.03
    Comments