#CSPJ2024T4. 2024 T4 接龙

    ID: 49 传统题 2000ms 512MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>动态规划滑动窗口前缀和深搜CSP-J2024DP暴力部分分

2024 T4 接龙

2024 T4 接龙

主知识点:动态规划。交叉标签:动态规划、滑动窗口、前缀和、深搜。
暴力标注:DP 可用暴力拿部分分。
OJ 使用标准输入与标准输出。原比赛文件名为 chain.in / chain.out;下方如保留原文件约定,以本句的 OJ 约定为准。
时限 2 秒;内存 512 MiB;测试点 20;总分 100。
数据来源:公开存档数据;未逐文件对照官网下载包。

题目描述

nn 个人各有整数词库序列 SiS_i。每轮由一人选择自己词库中长度在 [2,k][2,k] 的连续子序列作为接龙序列。第一轮的序列必须以 1 开头,之后每轮的首元素必须等于上轮的末元素。相邻两轮使用的人不能相同,隔一轮或更远则可重复使用同一个人。

给出 qq 个独立任务 (rj,cj)(r_j,c_j),判断能否进行恰好 rjr_j 轮游戏,并使最后一轮末元素为 cjc_j。

输入格式

本题有多组测试数据。

输入的第一行包含一个正整数 TT,表示数据组数。

接下来包含 TT 组数据,每组数据的格式如下:

第一行包含三个整数 n,k,qn, k, q,分别表示参与游戏的人数、接龙序列长度上限以及任务个数。

接下来 nn 行:

第 ii 行包含 (li+1)(l_i + 1) 个整数 li,Si,1,Si,2,…,Si,lil_i, S_{i,1}, S_{i,2}, \dots , S_{i,l_i},其中第一个整数 lil_i 表示序列 SiS_i 的长度,接下来 lil_i 个整数描述序列 SiS_i。

接下来 qq 行:

第 jj 行包含两个整数 rj,cjr_j, c_j,描述一个任务。

输出格式

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

样例

样例 1

输入:

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≤T≤51 \leq T \leq 5;

  • 1≤n≤1051 \leq n \leq 10^5,2≤k≤2×1052 \leq k \leq 2 \times 10^5,1≤q≤1051 \leq q \leq 10^5;

  • 1≤li≤2×1051 \leq l_i \leq 2 \times 10^5,1≤Si,j≤2×1051 \leq S_{i,j} \leq 2 \times 10^5;

  • 1≤rj≤1021 \leq r_j \leq 10^2,1≤cj≤2×1051 \leq c_j \leq 2 \times 10^5;

  • 设 ∑l\sum l 为单组测试数据内所有 lil_i 的和,则 ∑l≤2×105\sum l\leq 2\times 10^5。

测试点 n≤n\leq r≤r\leq ∑l≤\sum l\leq q≤q\leq 特殊性质
11 10310^3 11 20002000 10310^3 无
2,32,3 1010 55 2020 10210^2
4,54,5 10310^3 1010 20002000 10310^3 A
66 10510^5 10210^2 2×1052\times 10^5 10510^5
7,87,8 10310^3 1010 20002000 10310^3 B
9,109,10 10510^5 10210^2 2×1052\times 10^5 10510^5
11,1211,12 10310^3 1010 20002000 10310^3 C
13,1413,14 10510^5 10210^2 2×1052\times 10^5 10510^5
15∼1715\sim 17 10310^3 1010 20002000 10310^3 无
18∼2018\sim 20 10510^5 10210^2 2×1052\times 10^5 10510^5

特殊性质 A:保证 k=2×105k = 2 \times 10^5。

特殊性质 B:保证 k≤5k ≤ 5。

特殊性质 C:保证在单组测试数据中,任意一个字符在词库中出现次数之和均不超过 55。

附加样例

本题的公开样例整理在对应的“样例”ZIP 中。样例不计入评测测试点;题面中的样例也已保留。

暴力退路标注(教学补充)

DP 可用暴力拿部分分。DFS 状态为 (轮数,末字符,上轮人),枚举其他人的所有长度 2..k 且首字符相同的连续子序列。小数据分支很多,建议缓存同状态并先枚举转移边;第 1 点可直接枚举一轮,第 2~3 点规模≤20、轮数≤5。

目标范围:第 1 点 5 分;2~3 点可尝试,纯 DFS 不保证 15 分。部分分按原题规模判断,不构成对任意实现或评测机的得分保证。

来源与整理说明

题目原作者/发布者:中国计算机学会 CCF / NOI。题意经过改写,保留公式、输入输出、样例及约束;知识点和暴力标注为本次整理补充。