题库/J0111

#J0111. 【24CSPJ普及组】接龙(chain)

    传统题 难度: 普及+ 标签>一本通状态定义、转移与边界滑动窗口与区间状态维护频次统计与桶计数
时间限制2000 ms
内存限制128 MiB
通过率—0 / 0 次提交
题目描述 查看题解 开始编程Alt+E

J0111 · 【24CSPJ普及组】接龙(chain)

退出在线编程模式
普及+ 读懂题意,让每一次思考成为成长。
时间限制2000 ms
内存限制128 MiB
通过率—0 / 0 次提交

题目描述

在玩惯了成语接龙之后,小 J 和他的朋友们发明了一个新的接龙规则。 总共有 nn 个人参与这个接龙游戏,第i i 个人会获得一个整数序列 SiS_i 作为他的词库。一次游戏分为若干轮,每一轮规则如下: • nn 个人中的某个人 pp 带着他的词库 SpS_p 进行接龙。若这不是游戏的第一轮,那么这一轮进行接龙的人不能与上一轮相同,但可以与上上轮或更往前的轮相同。 • 接龙的人选择一个长度在 [22, kk] 的 SpS_p 的连续子序列 AA 作为这一轮的接龙序列,其中 kk 是给定的常数。若这是游戏的第一轮,那么 AA 需要以元素 11 开头,否则AA 需要以上一轮的接龙序列的最后一个元素开头。 – 序列 AA 是序列 SS 的连续子序列当且仅当可以通过删除 SS 的开头和结尾的若干元素(可以不删除)得到 AA。 为了强调合作,小 J 给了 nn 个参与游戏的人 qq 个任务,第 jj 个任务需要这 nn 个人进行一次游戏,在这次游戏里进行恰好 rjr_j 轮接龙,且最后一轮的接龙序列的最后一个元素恰好为 cjc_j。为了保证任务的可行性,小 J 请来你判断这 qq 个任务是否可以完成的,即是否存在一个可能的游戏过程满足任务条件。

输入

本题有多组测试数据。 输入的第一行包含一个正整数 TT,表示数据组数。 接下来包含 TT 组数据,每组数据的格式如下: 第一行包含三个整数 nn, kk, qq,分别表示参与游戏的人数、接龙序列长度上限以及任务个数。 接下来 nn 行: 第 ii 行包含 (li+1l_i + 1) 个整数 lil_i, Si,1S_{i,1}, Si,2S_{i,2}, · · · ,Si,liS_{i,l_i},其中第一个整数 lil_i 表示序列 SiS_i 的长度,接下来 lil_i 个整数描述序列 SiS_i。 接下来 qq 行: 第 jj 行包含两个整数 rjr_j, cjc_j,描述一个任务。

输出

对于每个任务:输出一行包含一个整数,若任务可以完成输出 11,否则输出 00。

输入样例

1
3 3 7
5 1 2 3 4 1
3 1 2 5
3 5 1 6
1 2
1 4
2 4
3 4
6 6
1 1
7 7

输出样例

1
0
1
0
1
0
0

提示

【样例 1 解释】 在下文中,我们使用 {AiA_i} = {A1A_1, A2A_2, · · · ,ArA_r} 表示一轮游戏中所有的接龙序列,{pip_i} = {p1p_1, p2p_2, · · · , prp_r} 表示对应的接龙的人的编号。由于所有字符均为一位数字,为了方便我们直接使用数字字符串表示序列。 • 对于第一组询问,p1=1p_1 = 1、A1=12A_1 = 12 是一个满足条件的游戏过程。 • 对于第二组询问,可以证明任务不可完成。注意 p1=1p_1 = 1、A1=1234A_1 = 1234 不是合法的游戏过程,因为此时 |A1A_1| = 44 > kk。 • 对于第三组询问,{pip_i} = {22, 11}、{AiA_i} = {1212, 234234} 是一个满足条件的游戏过程。 • 对于第四组询问,可以证明任务不可完成。注意 {pip_i} = {22, 11, 11}、{AiA_i} = {1212, 2323, 3434}不是一个合法的游戏过程,因为尽管所有的接龙序列长度均不超过 kk,但第二轮和第三轮由同一个人接龙,不符合要求。 • 对于第五组询问,{pip_i} = {11, 22, 33, 11, 22, 33}、{AiA_i} = {1212, 2525, 5151, 1212, 2525, 516516} 是一个满足条件的游戏过程。 • 对于第六组询问,可以证明任务不可完成。注意每个接龙序列的长度必须大于等于 22,因此 A1=1A_1 = 1 不是一个合法的游戏过程。 • 对于第七组询问,所有人的词库均不存在字符 77,因此任务显然不可完成。 【数据范围】 对于所有测试数据,保证: • 1≤T≤51 ≤ T ≤ 5; • 1≤n≤1051 ≤ n ≤ 10^5,2≤k≤2×1052 ≤ k ≤ 2 × 10^5,1≤q≤1051 ≤ q ≤ 10^5; • 1≤li≤2×1051 ≤ l_i ≤ 2 × 10^5,1≤Si,j≤2×1051 ≤ S_{i,j} ≤ 2 × 10^5; • 1≤rj≤1021 ≤ r_j ≤ 10^2,1≤cj≤2×1051 ≤ c_j ≤ 2 × 10^5; • 设∑l\sum l 为单组测试数据内所有 lil_i 的和,则 ∑l≤2×105\sum l ≤ 2 × 10^5。

测试点 n ≤ r ≤∑l ≤ q ≤ 特殊性质
11031 2,000103无
2, 310520102
4, 5103102,000103A
61051022 ×105105
7, 8103102,000103B
9, 101051022 ×105105
11, 1210310 2,000103C
13, 14105102 2 ×105105
15 ∼ 17103102,000103无
18 ∼ 20105 102 2 ×105105
特殊性质 A:保证 $k = 2 × 10^5$。 特殊性质 B:保证 $k ≤ 5$。 特殊性质 C:保证在单组测试数据中,任意一个字符在词库中出现次数之和均不超过 $5$。