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

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

햇살 섬

시간 제한1초메모리 제한128 MB

요약
고리 모양 둘레, 서로 교차하지 않는 다리, 그리고 광선 위의 상점들에 최소 개수 이상의 상품을 배정하되 이웃한 상점끼리는 상품을 겹치지 않게 하면서 필요한 전체 상품 수의 최솟값을 구한다.
난이도

보통10점 중 5점

유형
그리디, 그래프, 구현
정답자
아직 제출이 없습니다

문제

어느 날 태평양 한가운데에서 화산이 폭발했다. 용암이 식은 뒤, 작은 해님 모양의 새로운 섬이 나타났다. 물 위로 솟은 땅은 원(분화구) 모양이었고, 흘러나와 굳은 용암은 원 바깥으로 뻗어 나가는 곧은 광선들을 이루었다.

곧 관광객이 몰려들었고 노점이 세워졌다. 노점은 세 종류의 자리에 놓인다.

  • 분화구 둘레에는 시계 방향으로 11번부터 nn번까지 노점이 놓인다. 번호가 이웃한 노점끼리는 서로 인접하며, nn번 노점은 11번 노점과 인접한다. 즉 둘레의 노점들은 하나의 고리를 이룬다.
  • 분화구 위에는 다리가 놓이며, 각 다리는 둘레의 두 노점에 걸쳐 있다. 어떤 두 다리도 서로 교차하거나 겹쳐 놓이지 않는다. 한 다리로 연결된 두 노점은 서로 인접하다.
  • 굳은 용암의 광선은 일부 둘레 노점에서 바깥으로 뻗는다. 광선 위의 노점들은 사슬을 이룬다. 광선의 첫 노점은 그 광선이 시작되는 둘레 노점과 인접하고, 그다음 노점들은 각각 바로 앞 노점과 인접한다.

섬의 법은 인접한 두 노점이 단 하나의 상품도 공유하지 못하도록 금지한다. 따라서 인접한 노점끼리는 완전히 다른 상품을 팔아야 한다. 각 노점은 장사를 이어 가기 위해 정해진 개수 이상의 서로 다른 상품을 팔아야 한다(다리 위에는 노점을 둘 수 없다).

모든 노점이 필요한 개수 이상의 상품을 배정받으면서도 인접한 두 노점이 어떤 상품도 공유하지 않도록 하려면, 섬에 들여와야 하는 서로 다른 상품의 최소 개수는 얼마인지 구하여라.

입력

첫 줄에 데이터 집합의 수 DD (1≤D≤201 \le D \le 20)가 주어진다. 각 데이터 집합은 다음과 같이 주어진다.

첫 줄에 분화구 둘레의 노점 수 nn (3≤n≤100003 \le n \le 10000)이 주어진다. 노점은 시계 방향으로 11번부터 nn번까지 번호가 매겨진다.

다음 줄에 다리의 수 mm (0≤m≤n−30 \le m \le n-3)이 주어진다. 이어지는 mm개의 줄에는 각각 두 정수 pip_i, kik_i (1≤pi<ki≤n1 \le p_i < k_i \le n, pi<ki−1p_i < k_i - 1, ki−pi≠n−1k_i - p_i \ne n-1)가 주어지며, 한 다리의 양 끝에 있는 둘레 노점의 번호를 뜻한다.

다음 줄에 광선의 수 rr (0≤r≤n0 \le r \le n)이 주어진다. 이어지는 rr개의 줄에는 각각 두 정수 cjc_j, djd_j (1≤cj≤n1 \le c_j \le n, 0≤dj≤100000 \le d_j \le 10000)가 주어지며, jj번째 광선이 시작되는 둘레 노점의 번호와 그 광선 위에 있는 추가 노점의 수를 뜻한다.

다음 줄에는 nn개의 정수가 주어지며, ii번째 수는 ii번 둘레 노점이 팔아야 하는 서로 다른 상품의 개수이다.

마지막으로 rr개의 줄이 주어진다. jj번째 줄에는 djd_j개의 정수가 있으며, jj번째 광선 위 노점들이 팔아야 하는 상품 개수를 분화구에 가까운 노점부터 먼 노점 순서로 나열한 것이다.

노점은 모두 합쳐 100000100000개를 넘지 않으며, 어떤 노점도 100100개를 넘는 상품을 요구하지 않는다.

출력

각 데이터 집합마다 한 줄에, 모든 노점이 필요한 개수 이상의 상품을 받고 인접한(또는 다리로 연결된) 두 노점이 어떤 상품도 공유하지 않도록 섬에 들여와야 하는 서로 다른 상품의 최소 개수 tt를 출력한다.

힌트

그림 1. 예제에서 설명하는 섬의 지도.

예제4

  1. 예제 1

    입력
    1
    8
    4
    1 3
    1 4
    5 7
    1 7
    3
    3 3
    8 2
    4 1
    2 2 2 2 2 2 2 2
    1 3 3
    2 2
    3
    
    예상 출력
    6
    
  2. 예제 2

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

    입력
    1
    3
    0
    0
    5 3 2
    
    예상 출력
    10
    
  4. 예제 4

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