| “华为杯”2025 年广东工业大学 ACM 程序设计竞赛 |
|---|
| Finished |
丰川祥子一直在寻找成为人类的方法。上了大学之后,她加入了本校的 ACM 集训队,并开始打 Codeforces。
一天,她正如往常一样打算参加 Codeforces 线上比赛时,却不料点进去看到的是 Cloudflare 的验证码。这个验证码的要求居然是这样的:
例如,当 $$$S = \texttt{ababa}$$$ 且 $$$T = \texttt{aba}$$$ 时,出现区间为 $$$[1,3]$$$ 和 $$$[3,5]$$$,而祥子只需要标记集合 $$$\{3\}$$$ 即可覆盖两个区间,也可以选择标记集合 $$$\{1,5\}$$$,这样也可以覆盖两个区间,她甚至可以选择标记集合 $$$\{1,2,3,4,5\}$$$,但是这样就得点 $$$5$$$ 下,很麻烦。 擅长键盘的 Saki 酱很快就敲出了 "在一个字符串找另一个字符串的所有出现位置" 的代码,但她希望以尽量少的标记次数来完成本次验证,尽快成为人类!
塑料看完这一集之后立刻把这个问题丢给了你。你的任务就是输出最小的满足条件的标记集合的大小。
输入包含多组测试数据。
第一行包括一个正整数 $$$T$$$ $$$(1 \leq T \leq 10^4)$$$,表示数据组数;
接下来对于每组测试数据:
第一行输入两个正整数 $$$n$$$ 和 $$$m$$$ $$$(1 \leq n,m \le 10^3)$$$,表示字符串 $$$S$$$ 和 $$$T$$$ 的长度;
接下来一行输入一个长度为 $$$n$$$ 的字符串 $$$S$$$;
接下来一行输入一个长度为 $$$m$$$ 的字符串 $$$T$$$。
保证所有字符串都由英文小写字母构成。
保证每个测试点所有测试数据的 $$$n$$$ 之和与 $$$m$$$ 之和均不超过 $$$2^{14}$$$。
对于每组测试数据,输出一行一个非负整数 $$$x$$$,表示最小的满足条件的标记集合的大小。
25 3ababaaba20 4sakisakisakisakisakimiku
1 0
| Name |
|---|


