Logo
(追記) (追記ここまで)

24899번 - DCMSF

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)46141027.778%

문제

Degree Constrained Spanning Forest란, 양의 정수 $K$에 대해 각 정점의 차수가 $K$ 이하인 Spanning Forest를 의미한다. 그래프와 차수 제한 $K$가 주어졌을 때 이를 만족하는 Degree Constrained Spanning Tree를 구하는 문제는 NP-Complete임이 알려져 있다.

지수 시간에 해결해야 하는 문제를 대회에 내고 싶지 않았던 정휘는, 새벽에 5시간 동안 고민한 끝에 조건을 덕지덕지 붙여서 다항 시간에 풀 수 있는 문제를 만들었다.

정점 $N$개와 간선 $M$개로 구성된 가중치 무방향 그래프가 주어진다. 이때 $X$개의 정점을 선택해 "특별한 정점", $Y$개의 정점을 선택해 "멋진 정점"이라고 하자. 여러분은 다음 조건을 만족하는 Spanning Forest 중, 간선을 1,ドル\ 2,\ \cdots,\ N-1$개 사용한 Spanning Forest의 간선 가중치 합의 최솟값을 각각 구해야 한다.

  • $i$번째 특별한 정점의 차수는 $K_i$ 이하이다.
  • 특별한 정점끼리 서로 연결될 수 없다.
  • 멋진 정점의 차수는 1ドル$ 이하이다.
  • 멋진 정점끼리 서로 연결될 수 없다.
  • 어떤 정점이 특별한 정점이면서 동시에 멋진 정점일 수 있다.

입력

첫째 줄에 $N,\ M,\ X,\ Y$가 공백으로 구분되어 주어진다. (2ドル\leq N \leq 300,\ 1 \leq M \leq 300,\ 1 \leq X,Y \leq N$)

둘째 줄에 특별한 정점의 목록 $A_1,\ A_2,\ \cdots,\ A_X$가 공백으로 구분되어 주어진다. (1ドル \leq A_i \leq N,ドル $i \neq j$이면 $A_i \neq A_j$)

셋째 줄에 특별한 정점의 차수 제한 $K_1,\ K_2,\ \cdots,\ K_X$가 공백으로 구분되어 주어진다. (1ドル \leq K_i \leq N$)

넷째 줄에 멋진 정점의 목록 $B_1,\ B_2,\ \cdots,\ B_Y$가 공백으로 구분되어 주어진다. (1ドル \leq K_i \leq N,ドル $i \neq j$이면 $B_i \neq B_j$)

다섯째 줄부터 $M$개의 줄에 걸쳐 두 간선이 연결하는 정점 번호 $u_i,\ v_i$와 간선의 가중치 $w_i$가 주어진다. (1ドル \leq u_i,v_i \leq N,\ 1 \leq w_i \leq 200,000,円\ u_i \neq v_i$)

연결하는 정점 쌍이 동일한 간선이 여러 번 주어지지 않는다.

입력으로 주어지는 모든 수는 정수이다.

출력

조건을 만족하도록 간선 $i$개를 이용해 Spanning Forest를 만들 수 있다면 $i$번째 줄에 가중치 합의 최솟값을 출력한다.

간선 $i$개를 이용해 조건을 만족하는 Spanning Forest를 만들 수 없다면 $i$번째 줄에 $-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

1
3
6
12
19
-1

예제 입력 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

예제 출력 2

1
3
6
12
19
29
-1

힌트

출처

Camp > 숭고한 연합 Algorithm Camp > 2022 숭고한 연합 알고리즘 콘테스트 > Division 1 H번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /