만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

제우스

시간 제한12초메모리 제한1024 MB

요약
treewidth가 2 이하인 연결 가중 그래프에서 모든 정점 쌍의 최단 거리를 모두 더한 값을 구합니다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, 동적 계획법
정답자
아직 제출이 없습니다

문제

번개의 신 우제는 Treewidth가 2 이하인 무방향 연결 그래프를 가지고 있다. 임의의 두 정점을 직접 잇는 간선은 최대 하나이며, 모든 간선은 서로 다른 두 정점을 잇는다. 각 간선에는 양의 정수 가중치가 붙어 있다. 그래프의 각 정점은 1 이상 NN 이하의 서로 다른 정수로 표현된다.

dist(i,j)dist(i, j)를 ii번 정점과 jj번 정점 사이의 최단 경로 길이라고 하자. 우제가 가진 그래프가 주어질 때 ∑1≤i<j≤Ndist(i,j)\sum_{1 \le i < j \le N} dist(i, j)를 출력하라.

입력

첫 줄에 테스트 케이스의 개수 TT(1≤T≤601 \le T \le 60)가 주어진다. 이후 테스트 케이스가 차례로 주어진다.

각 테스트 케이스의 첫 줄에는 정점의 수 NN과 간선의 수 MM이 주어진다(3≤N≤50 0003 \le N \le 50\,000, 2≤M≤100 0002 \le M \le 100\,000). 이후 MM개의 줄에 세 정수 uu, vv, ww가 주어지며, 이는 정점 uu와 vv를 잇는 가중치 ww의 간선이 존재한다는 뜻이다(1≤u,v≤N1 \le u, v \le N, u≠vu \ne v, 0≤w≤1 0000 \le w \le 1\,000).

모든 테스트 케이스에 대한 N+MN + M의 합은 1600000 이하이다.

출력

각 테스트 케이스마다 "Case #C"를 한 줄에 출력한다. 여기서 CC는 테스트 케이스의 번호이다. 다음 줄에 답을 정수로 출력한다.

힌트

연결 그래프 GG의 트리폭이 2 이하라는 것은, 정점이 하나이고 간선이 없는 그래프에서 다음 세 연산을 적절히 반복해서 GG와 동형인 그래프를 얻을 수 있다는 것과 같다.

  • 연산 1: 이미 존재하는 정점 A와 정점 X를 간선으로 연결한다.
  • 연산 2: 이미 존재하며 간선으로 직접 연결된 두 정점 A와 B에 대해, A와 정점 X를 간선으로 연결하고 B와 X를 간선으로 연결한다.
  • 연산 3: 연산 2와 같이 A와 X, B와 X를 연결한 뒤, A와 B를 잇는 간선을 제거한다.

예제1

  1. 예제 1

    입력
    3
    6 6
    1 2 10
    2 3 10
    3 4 10
    2 5 5
    5 6 5
    2 6 8
    15 18
    1 2 1
    2 3 2
    3 4 1
    4 5 2
    5 6 1
    6 7 2
    7 8 1
    8 3 2
    2 9 1
    2 14 2
    9 14 1
    9 10 2
    10 15 1
    9 15 2
    10 11 1
    11 12 2
    12 13 1
    13 10 2
    6 9
    1 2 45
    2 3 42
    3 4 47
    4 5 35
    5 6 53
    6 1 49
    1 5 57
    2 4 46
    5 2 35
    
    예상 출력
    Case #1
    237
    Case #2
    530
    Case #3
    970