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

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

DCMSF

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

요약
특수 정점의 차수 상한과 좋은 정점의 차수 제한을 지키는 신장 숲 가운데, 간선이 1개부터 N-1개인 경우마다 최소 가중치를 구합니다.
난이도

어려움10점 중 9점

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

문제

Degree Constrained Spanning Forest(DCSF)는 양의 정수 KK에 대해 모든 정점의 차수가 KK 이하인 Spanning Forest를 뜻한다. 그래프와 차수 제한 KK가 주어졌을 때 이 조건을 만족하는 Degree Constrained Spanning Tree를 구하는 문제는 NP-Complete인 것으로 알려져 있다.

지수 시간이 걸리는 문제를 대회에 내고 싶지 않았던 정휘는, 새벽에 5시간 동안 고민한 끝에 여러 조건을 덧붙여 다항 시간에 풀 수 있는 문제를 만들었다.

정점 NN개와 간선 MM개로 이루어진 가중치 무방향 그래프가 주어진다. XX개의 정점을 골라 특별한 정점으로, YY개의 정점을 골라 멋진 정점으로 지정한다. 다음 조건을 만족하는 Spanning Forest 중에서, 간선을 11개, 22개, ⋯\cdots, N−1N-1개 사용한 Spanning Forest의 간선 가중치 합의 최솟값을 각각 구해야 한다.

  • ii번째 특별한 정점의 차수는 KiK_i 이하이다.
  • 특별한 정점끼리는 서로 연결될 수 없다.
  • 멋진 정점의 차수는 11 이하이다.
  • 멋진 정점끼리는 서로 연결될 수 없다.
  • 한 정점이 특별한 정점이면서 동시에 멋진 정점일 수 있다.

입력

첫째 줄에 NN, MM, XX, YY가 공백으로 구분되어 주어진다. (2≤N≤3002 \leq N \leq 300, 1≤M≤3001 \leq M \leq 300, 1≤X,Y≤N1 \leq X, Y \leq N)

둘째 줄에 특별한 정점의 목록 A1,A2,⋯ ,AXA_1, A_2, \cdots, A_X가 공백으로 구분되어 주어진다. (1≤Ai≤N1 \leq A_i \leq N, i≠ji \neq j이면 Ai≠AjA_i \neq A_j)

셋째 줄에 특별한 정점의 차수 제한 K1,K2,⋯ ,KXK_1, K_2, \cdots, K_X가 공백으로 구분되어 주어진다. (1≤Ki≤N1 \leq K_i \leq N)

넷째 줄에 멋진 정점의 목록 B1,B2,⋯ ,BYB_1, B_2, \cdots, B_Y가 공백으로 구분되어 주어진다. (1≤Bi≤N1 \leq B_i \leq N, i≠ji \neq j이면 Bi≠BjB_i \neq B_j)

다섯째 줄부터 MM개의 줄에 걸쳐 간선이 잇는 두 정점 번호 uiu_i, viv_i와 간선의 가중치 wiw_i가 주어진다. (1≤ui,vi≤N1 \leq u_i, v_i \leq N, 1≤wi≤2000001 \leq w_i \leq 200000, ui≠viu_i \neq v_i)

같은 정점 쌍을 잇는 간선은 두 번 주어지지 않는다.

입력의 모든 수는 정수이다.

출력

간선 ii개로 조건을 만족하는 Spanning Forest를 만들 수 있다면 ii번째 줄에 가중치 합의 최솟값을 출력한다.

간선 ii개로 조건을 만족하는 Spanning Forest를 만들 수 없다면 ii번째 줄에 −1-1을 출력한다.

예제2

  1. 예제 1

    입력
    7 7 2 1
    1 2
    2 1
    2
    1 3 1
    2 6 2
    1 4 3
    3 4 4
    2 7 5
    4 5 6
    5 6 7
    
    예상 출력
    1
    3
    6
    12
    19
    -1
    
  2. 예제 2

    입력
    8 9 2 1
    1 2
    2 1
    8
    1 3 1
    2 6 2
    1 4 3
    3 4 4
    2 7 5
    4 5 6
    5 6 7
    3 8 10
    7 8 10
    
    예상 출력
    1
    3
    6
    12
    19
    29
    -1