최소 스패닝 트리와 쿼리
시간 제한5초메모리 제한256 MB
가중치가 있는 방향 그래프 G가 주어질 때, 각 i에 대해 G와 Path_i의 텐서 곱에서 최소 신장 트리의 가중치를 구합니다.
문제
는 정점이 개인 방향 그래프이다. 모든 에 대해 방향의 간선이 있다.
가중치가 있는 방향 그래프 과 방향 그래프 의 텐서 곱 는 다음과 같이 정의한다.
- 정점 집합은 이다. 정점의 개수는 이다.
- 두 정점 과 는 에 간선이 있고 에 간선이 있으면 무방향 간선으로 이어진다.
- 이 간선의 가중치는 에서 간선의 가중치와 같다.
개의 정점과 개의 간선을 가진 방향 그래프 가 입력으로 주어진다. 각 간선에는 양의 정수 가중치가 있다. 는 무방향 그래프이며, 각 간선에도 양의 정수 가중치가 있다. 모든 에 대해 의 최소 스패닝 트리 간선 가중치 합을 구하라. 쿼리로 주어지는 모든 에는 스패닝 트리가 항상 존재함이 보장된다.
입력
첫 번째 줄에 세 정수 , , 이 주어진다. (, )
이후 개의 줄에 세 정수 , , 가 주어진다. 이는 방향으로 가중치 인 간선이 있다는 뜻이다. (, )
출력
개의 줄을 출력한다. 번째 줄에는 의 답을 출력한다.