#5040. SSttrriinngg in StringString

0

SSttrriinngg in StringString

SSttrriinngg in StringString

题目描述

对于长度为 nn 的字符串 XX,记 f(X,k)f(X,k) 为将字符串 XX 重复 kk 次得到的字符串,记 g(X,k)g(X,k) 为按顺序将 XX 的第一个字符重复 kk 次、第二个字符重复 kk 次、…、第 nn 个字符重复 kk 次得到的字符串。例如,如果 X=abcX=abc,则 f(X,2)=abcabcf(X,2)=abcabc,而 g(X,3)=aaabbbcccg(X,3)=aaabbbccc。此外,对于任意字符串 XX,f(X,0)f(X,0) 和 g(X,0)g(X,0) 都是空字符串。 给定正整数 NN 以及字符串 SS 和 TT。求最大的非负整数 kk,使得 g(T,k)g(T,k) 是 f(S,N)f(S,N) 的一个(不一定连续的)子序列。注意按定义 g(T,0)g(T,0) 总是 f(S,N)f(S,N) 的子序列。

什么是子序列? 字符串 $X$ 的(不一定连续的)子序列是通过从 $X$ 中删除零个或多个字符然后按原顺序连接剩余字符得到的字符串。 例如,$ac$、$atcoder$ 和 $$(空字符串)都是 $atcoder$ 的子序列,但 $ta$ 不是。

输入格式

输入按下列格式由标准输入给出: NN SS TT

输出格式

输出最大的非负整数 kk,使得 g(T,k)g(T,k) 是 f(S,N)f(S,N) 的一个(不一定连续的)子序列。

3
abc
ab
2
3
abc
arc
0
1000000000000
kzazkakxkk
azakxk
344827586207

提示

NN 是一个整数。 1≤N≤10121\leq N\leq 10^{12} SS 和 TT 是由小写英文字母组成的字符串,长度在 11 到 10510^5(含)之间。我们有 f(S,3)=abcabcabcf(S,3)=abcabcabc。 g(T,2)=aabbg(T,2)=aabb 是 f(S,3)f(S,3) 的一个子序列,但 g(T,3)=aaabbbg(T,3)=aaabbb 不是,所以输出 22。

标签: AtCoder|abc346F

来源

AtCoder|abc346F