만드는 중입니다

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

수채화

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

요약
N개의 칸에 각각 색 집합이 주어지고 l부터 r까지 칠해져 있을 때, 남은 칸을 매번 새 색이 들어가도록 칠할 수 있는지 판단합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 구간, 해시맵
정답자
아직 제출이 없습니다

문제

마린초는 수채화 그리기를 좋아한다. 그는 NN개의 칸으로 이루어진 색 수열을 만들려고 한다. 각 칸 ii (1≤i≤N1 \le i \le N)에 대해 크기가 KiK_i인 색 집합 AiA_i를 고르고, 이 색들을 섞어 칸을 칠한다.

마린초는 이미 Al,Al+1,…,ArA_l, A_{l+1}, \dots, A_r에 따라 칸 ll부터 rr까지를 칠했다. 이제 나머지 칸을 정해진 순서대로 칠한다. 다음에 칠할 칸은 존재하는 쪽의 l−1l-1 또는 r+1r+1번 칸이다. 칠한 칸이 LL부터 RR까지일 때 다음 칸은 다음과 같다.

  • L=1L = 1이고 R=NR = N이면 모든 칸을 칠한 상태이다.
  • L=1L = 1이고 R<NR < N이면 다음 칸은 R+1R+1이다.
  • L>1L > 1이고 R=NR = N이면 다음 칸은 L−1L-1이다.
  • L>1L > 1이고 R<NR < N이면 다음 칸은 L−1L-1 또는 R+1R+1이다.

마린초는 칸 ll부터 rr까지를 칠한 뒤 수열이 너무 단조롭다고 느꼈다. 그래서 앞으로 칠하는 칸마다, 지금까지 칠한 칸 어디에서도 쓰이지 않은 새 색이 최소 하나 있어야 한다고 정했다. 나머지 칸을 모두 칠할 수 있는지 판별하는 프로그램 aquarelle을 작성하라. QQ개의 초기 칠하기 각각에 대해 답을 구하라.

입력

첫 줄에 NN이 주어진다. 이어서 NN개의 줄에 각각 KiK_i와 색 c1 c2… cKic_1 \ c_2 \dots \ c_{K_i}가 주어진다. 색은 서로 다른 양의 정수이다. 다음 줄에 QQ가 주어지고, 마지막 QQ개의 줄에 ll과 rr이 주어진다. 각 줄의 수는 공백 한 칸으로 구분된다.

  • 1≤N≤5×1051 \leq N \leq 5 \times 10^5
  • 1≤Ki≤1.2×1061 \leq K_i \leq 1.2 \times 10^6, K1+K2+⋯+KN≤1.2×106K_1 + K_2 + \dots + K_N \leq 1.2 \times 10^6
  • 1≤cj≤1061 \leq c_j \leq 10^6
  • 1≤l≤r≤N1 \le l \le r \le N
  • 1≤Q≤51 \leq Q \leq 5

출력

입력 순서대로 각 초기 칠하기마다 나머지 칸을 모두 칠할 수 있으면 1, 없으면 0을 출력한다.

힌트

첫 번째 초기 칠하기를 분석해 보자. 최적의 순서는 아래 표와 같다.

칠한 칸남은 칸다음에 칠할 칸
3,43, 43,4,5,63, 4, 5, 62번 칸
2,3,42, 3, 43,5,63, 5, 65번 칸
2,3,4,52, 3, 4, 55,65, 61번 칸
1,2,3,4,51, 2, 3, 4, 5666번 칸
1,2,3,4,5,61, 2, 3, 4, 5, 6없음모든 칸을 성공적으로 칠했다.

5번 칸을 처음에 칠했다면 모든 칸을 칠하지 못했을 것이라는 점에 주목하라.

세 번째 초기 칠하기를 분석해 보자.

칠한 칸남은 칸다음에 칠할 칸
551,2,5,61, 2, 5, 64번 칸
4,54, 51,5,61, 5, 63번 칸
3,4,53, 4, 55,65, 66번 칸
3,4,5,63, 4, 5, 655더 이상 칠할 수 없다.

6번 칸을 처음에 칠해도 이후 과정은 같고 여전히 실패한다. 따라서 답은 0이다.

예제1

  1. 예제 1

    입력
    6
    2 5 3
    1 4
    1 1
    1 2
    2 3 4
    1 6
    3
    3 4
    2 3
    5 5
    
    예상 출력
    1
    1
    0