AT_abc257_g.[ABC257G] Prefix Concatenation
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个仅由小写英文字母组成的字符串 S 和 T。
请你求出一个最小的正整数 k,使得可以通过连接 k 个(可以相同也可以不同)S 的前缀,得到字符串 T。
也就是说,设 Si 表示 S 的第 1 个字符到第 i 个字符组成的前缀字符串,那么是否存在 k 个 1 到 ∣S∣ 之间的整数 a1,a2,…,ak,使得
T=Sa1+Sa2+⋯+Sak
(这里 + 表示字符串的连接),并求出最小的正整数 k。
如果无法通过上述方式得到 T,请输出 −1。
输入格式
输入以如下格式从标准输入读入:
S T
输出格式
输出通过连接 k 个 S 的前缀能够得到 T 的最小正整数 k。如果无法得到 T,则输出 −1。
输入输出样例
输入#1
aba ababaab
输出#1
3
输入#2
atcoder ac
输出#2
-1
说明/提示
限制条件
- 1≤∣S∣≤5×105
- 1≤∣T∣≤5×105
- S,T 均为仅由小写英文字母组成的字符串
样例解释 1
$T = $ ababaab 可以表示为 ab + aba + ab,其中 ab 和 aba 都是 $S = $ aba 的前缀。无法用不超过 2 个 S 的前缀连接得到 ababaab,因此输出 3。
样例解释 2
无法通过连接 S 的前缀得到 T,因此输出 −1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?