B. Cipher Subsequence

    传统题 1000ms 256MiB

Cipher Subsequence

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

情报部门截获了敌方发送的一段核心密文 ss,并收集到多份疑似密钥 cc。 真正的密钥 cc 必须是密文 ss 的 子序列(subsequence)。

你的任务是判断给定的疑似密钥 cc 是否为核心密文 ss 的子序列。

子序列的定义

一个字符串 cc 是字符串 ss 的子序列,当且仅当 cc 可以从 ss 中通过删除一些字符(也可以不删)并保持剩余字符的原有相对顺序而得到。 换句话说,存在一组严格递增的下标序列 p1<p2<<pcp_1 < p_2 < \dots < p_{|c|},使得对于每个 i=1,2,,ci = 1, 2, \dots, |c|,满足 s[pi]=c[i]s[p_i] = c[i]

注意:子序列不要求字符连续出现,但字符出现的先后顺序必须与 cc 相同。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 t(1t1000)t(1≤t≤1000)

每个测试用例的第一行都包含两个整数 nmn,m, 分别表示核心密文 ss 的长度和疑似密钥 cc 的长度。(2nm2105)(2≤n,m≤2 \cdot 10^5)

每个测试用例的第二行都包含一个长度为nn的字符串,表示核心密文 ss

每个测试用例的第三行都包含一个长度为mm的字符串,表示疑似密钥 cc

每个测试 n+mn+m 的总和不超过 21052 \cdot 10^{5},且字符串sscc均为小写字母或者大写字母。

输出格式

对于每个测试用例,若疑似密钥 cc 按顺序出现在核心密文ss 中,则输出 yesyes ,否则输出 nono 。(每个测试用例结尾必须输出一个换行符)

样例

3
10 5
helloworld
hoold
9 3
hucacmdev
man
8 5
IlikeHSD
IkeDn
yes
no
no

样例解释

对于第一组样例:

hooldhooldhelloworldhelloworld 的子序列,所以输出 yesyes

对于第二组样例:

manman 不是 hucacmdevhucacmdev 的子序列,所以输出 nono

对于第三组样例:

IkeDnIkeDn 不是 IlikeHSDIlikeHSD 的子序列,所以输出 nono

2026第三周训练 #1

未参加
状态
已结束
规则
XCPC
题目
5
开始于
2026-1-26 14:00
结束于
2026-1-26 16:30
持续时间
2.5 小时
主持人
参赛人数
10