Six Words

시간 제한2초메모리 제한512 MB

요약
정점 i의 퍼텐셜이 i이고 간선 i의 가중치가 i인 연결 그래프가 주어질 때, 선그래프의 선그래프에서 최소 신장 트리의 총 가중치를 구한다.
난이도

어려움10점 중 9점

유형
그래프, 최소 신장 트리, 그리디, 구현
정답자
아직 제출이 없습니다

문제

이 문제의 원래 제목은 “Line Line Graph Minimum Spanning Tree”이다.

이 문제에서는 단순 연결 무방향 그래프를 다룬다. 모든 간선 ee에는 가중치 w(e)w(e)가 있고, 모든 정점 vv에는 포텐셜 p(v)p(v)가 있다.

그래프 GG의 라인 그래프 L(G)L(G)는 GG의 간선 사이의 인접 관계를 나타내는 그래프이다. 형식적으로, L(G)L(G)의 각 정점은 GG의 간선 하나에 대응하고, L(G)L(G)의 두 정점은 GG에서 대응하는 두 간선이 공통 끝점을 가질 때, 그리고 그럴 때만 인접하다.

L(G)L(G)의 각 정점의 포텐셜은 GG에서 대응하는 간선의 가중치와 같다. L(G)L(G)의 각 간선 ee의 가중치는 ee의 양 끝점에 대응하는 GG의 두 간선이 공유하는 GG의 끝점 정점의 포텐셜과 같다.

GG가 연결 그래프이면 L(G)L(G)도 연결 그래프이다.

그래프의 최소 신장 트리 (MST)는 모든 정점을 연결하면서 사이클이 없고 간선 가중치 합이 최소인 간선 부분집합이다.

nn개의 정점과 mm개의 간선을 가진 그래프 GG가 주어진다. 정점은 11부터 nn까지 번호가 매겨져 있고, GG의 정점 ii의 포텐셜은 ii이다. 간선은 11부터 mm까지 번호가 매겨져 있고, GG의 간선 ii의 가중치는 ii이다.

L(L(G))L(L(G))의 최소 신장 트리의 간선 가중치 합을 구하여라.

입력

첫 번째 줄에는 두 정수 nn과 mm이 주어진다. (3≤n≤1053 \le n \le 10^5; 2≤m≤min⁡(n(n−1)/2,2⋅105)2 \le m \le \min(n(n-1)/2, 2 \cdot 10^5)) 이는 GG의 정점 수와 간선 수이다.

다음 mm개의 줄에는 각각 두 정수 uiu_i와 viv_i가 주어진다. (1≤ui,vi≤n1 \le u_i, v_i \le n; ui≠viu_i \ne v_i) 이는 ii번째 간선의 양 끝점이다.

두 정점 사이에는 간선이 최대 하나만 존재한다. 그래프는 연결 그래프이다.

출력

GG의 라인 그래프의 라인 그래프의 최소 신장 트리의 간선 가중치 합을 출력한다.

힌트

첫 번째 예제에서 L(L(G))=GL(L(G)) = G이고, GG의 MST의 간선 가중치 합은 1+2=31 + 2 = 3이다.

예제2

  1. 예제 1

    입력
    3 3
    1 2
    1 3
    2 3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4 4
    2 4
    1 3
    1 2
    4 1
    
    예상 출력
    9