만드는 중입니다

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

K-매칭

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

요약
가중치가 있는 n x m 격자 그래프에서 끝점을 공유하지 않는 간선 K개를 골라 가중치 합의 최솟값을 구합니다.
난이도

어려움10점 중 8점

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

문제

그래프 GG를 생각하자. 이 그래프에는 n⋅mn \cdot m개의 정점 (i,j)(i, j) (1≤i≤n1 \leq i \leq n, 1≤j≤m1 \leq j \leq m)가 있다. 두 정점 (a,b)(a, b)와 (c,d)(c, d) 사이에 간선이 있는 것은 ∣a−c∣+∣b−d∣=1|a - c| + |b - d| = 1일 때뿐이다. 각 간선에는 가중치가 있다.

GG의 KK-매칭 중 최소 가중치를 구하라.

간선 집합 SS가 G=⟨V,E⟩G = \langle V, E \rangle의 매칭이라는 것은 VV의 각 정점이 SS의 간선 중 최대 하나에 연결되어 있다는 뜻이다. 매칭 SS가 ∣S∣=K|S| = K를 만족하면 SS는 KK-매칭이다. 매칭 SS의 가중치는 SS에 속한 간선 가중치의 합이다. GG의 최소 가중치 KK-매칭은 가중치가 가장 작은 KK-매칭이다.

입력

첫 줄에 테스트 케이스의 수 tt가 주어진다 (1≤t≤10001 \leq t \leq 1000). n>100n > 100인 테스트 케이스는 최대 3개이다.

각 테스트 케이스의 첫 줄에는 정수 nn, mm, KK가 주어진다 (1≤n≤4⋅1041 \leq n \leq 4 \cdot 10^4, 1≤m≤41 \leq m \leq 4, 1≤K≤⌊n⋅m2⌋1 \leq K \leq \lfloor \frac{n \cdot m}{2} \rfloor).

이어서 n−1n - 1개의 줄이 주어지며, 각 줄에는 정수 mm개 Ai,jA_{i, j}가 있다. 이는 (i,j)(i, j)와 (i+1,j)(i + 1, j) 사이 간선의 가중치이다 (1≤Ai,j≤1091 \leq A_{i, j} \leq 10^9).

m>1m > 1이면 추가로 nn개의 줄이 주어지며, 각 줄에는 정수 m−1m - 1개 Bi,jB_{i, j}가 있다. 이는 (i,j)(i, j)와 (i,j+1)(i, j + 1) 사이 간선의 가중치이다 (1≤Bi,j≤1091 \leq B_{i, j} \leq 10^9).

출력

각 테스트 케이스마다 최소 가중치를 한 줄에 출력한다.

예제1

  1. 예제 1

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