만드는 중입니다

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

거대 최소 비용 이분 매칭

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

요약
각 정점의 차수가 최대 2인 이분 그래프에서 크기가 1부터 N까지인 매칭 각각의 최소 비용을 구합니다.
난이도

보통10점 중 7점

유형
그래프, 동적 계획법, 그리디
정답자
아직 제출이 없습니다

문제

왼쪽 정점과 오른쪽 정점의 개수가 각각 NN개이고, 간선의 개수가 MM개인 이분 그래프가 주어진다. 모든 정점의 차수(degree)는 최대 2이다. 왼쪽 정점과 오른쪽 정점에는 각각 11부터 NN까지 번호가 매겨져 있고, 서로 다른 두 정점 사이에는 간선이 최대 한 개 존재한다.

매칭(Matching)은 간선의 양 끝점이 중복되지 않도록 고른 간선의 집합이다. 크기가 11, 22, …\ldots, NN인 매칭 각각에 대해 최소 비용을 구해 보자.

입력

첫 번째 줄에 정점의 개수 NN과 간선의 개수 MM이 주어진다. (1≤N≤500 0001 \le N \le 500\,000, 0≤M≤2N0 \le M \le 2N)

다음 MM개의 줄에 간선의 정보 (x,y,c)(x, y, c)가 차례로 주어진다. xx는 왼쪽 정점의 번호, yy는 오른쪽 정점의 번호, cc는 해당 간선의 비용이다. (1≤x,y≤N1 \le x, y \le N, 1≤c≤1 000 000 0001 \le c \le 1\,000\,000\,000)

출력

NN개의 줄에 걸쳐 ii번째 줄에 크기가 ii인 매칭의 최소 비용을 출력한다. 그러한 매칭이 없으면 -1을 출력한다.

예제2

  1. 예제 1

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

    입력
    1 0
    
    예상 출력
    -1