#P1444. Liar

    ID: 1198 传统题 4000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>字符串后缀数组动态规划基础算法贪心二分数据结构HashCodeForces

Liar

题目描述

给定两个字符串 s,ts,t,长度分别为 n,mn,m。你需要选择 ss 的若干个两两不相交的子串,然后将它们按照原先在 ss 中出现的顺序合并起来,希望得到 tt

f(s,t)f(s,t) 表示最少要选择的 ss 的子串数目,以便它们的并是串 tt。如果无法合理选择这样的子串,则 f(s,t)=+f(s,t)=+\infin。现在我们想知道,对于给定的 s,ts,t,是否有 f(s,t)xf(s,t)\leq x

输入格式

第一行一个整数 nn,第二行一个长度为 nn 的字符串 ss

第三行一个整数 mm,第四行一个长度为 mm 的字符串 tt

第五行一个整数 xx

1mn105,1x301 \le m\leq n \leq 10^5, 1\le x\leq 30

输出格式

在一行中输出 YESNO 表示答案。

9
hloyaygrt
6
loyyrt
3
YES
9
hloyaygrt
6
loyyrt
2
NO