아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

성의 연결성

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

요약
가중치가 있는 평면 직선 그래프가 주어질 때, 모든 벽의 양쪽 면이 외부에서 접근 가능하도록 만드는 최소 비용의 변 집합을 고른다.
난이도

어려움10점 중 9점

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

문제

당신은 왕의 명령을 받은 기술자이다. 왕이 성을 지으라고 했다. 공사는 거의 끝나 간다. 성에는 nn개의 탑과 mm개의 벽이 들어가며, 각 벽은 두 탑을 잇는다는 것은 이미 정해져 있다. 탑은 평면 위의 점으로, 벽은 탑을 잇는 선분으로 볼 수 있다. 설계도는 몇 가지 합리적인 가정을 만족한다.

  • 벽이 탑 하나를 자기 자신과 연결하지 않는다.
  • 어느 두 탑 사이에도 벽이 많아야 하나 있다.
  • 서로 다른 벽은 탑이 아닌 곳에서 만나지 않는다.
  • 두 탑이 같은 위치에 있지 않는다.
  • 벽은 양 끝점이 아닌 다른 탑을 지나지 않는다.

당신의 임무는 벽 몇 개를 골라 그 안에 문을 만드는 것이다. 그 뒤에는 성의 모든 벽 양쪽이 문을 통해 외부에서 접근 가능해야 한다. 지형이 다르기 때문에 벽마다 문을 만드는 데 드는 비용이 다르다. 이 임무를 끝내는 데 필요한 최소 비용은 얼마인가?

입력

첫 줄에 두 수 nn, mm이 주어진다. 이는 각각 탑의 개수와 벽의 개수이다 (1≤n,m≤1051 \leq n, m \leq 10^5).

다음 nn개 줄 각각에 두 정수 x_ix\_i, y_iy\_i가 주어지며, 이는 ii번째 탑을 점 (x_i,y_i)(x\_i, y\_i)에 세운다는 뜻이다. 좌표의 절댓값은 10610^6을 넘지 않는다.

다음 mm개 줄 각각에 세 정수 u_iu\_i, v_iv\_i, c_ic\_i가 주어진다 (1≤u_i,v_i≤n1 \leq u\_i, v\_i \leq n, 1≤c_i≤1061 \leq c\_i \leq 10^6). 이는 탑 u_iu\_i와 v_iv\_i 사이에 벽이 들어가며, 이 벽에 문을 만드는 비용이 c_ic\_i라는 뜻이다.

출력

먼저 필요한 문을 모두 만드는 데 드는 최소 비용을 한 수로 출력한다. 다음으로 문의 개수 kk를 출력한다. 그 뒤에는 계획에 따라 문이 있는 벽으로 연결된 탑 쌍 kk개를 출력한다.

예제2

  1. 예제 1

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

    입력
    4 5
    1 0
    2 1
    1 2
    0 1
    1 2 1
    2 3 2
    3 4 3
    4 1 4
    1 3 5
    
    예상 출력
    4
    2
    3 4
    1 2