题目 1692

字符串编码

查看题解 ↗GitHub ↗如何评测
题号
1692
时间限制
1000 ms
内存限制
256 MB
标签
字符串
来源
信息学奥赛一本通 · 高手训练篇·二、字符串算法(高手训练)

【题目描述】

小P最近又发明了一种新的字符串编码方法。 具体地,我们可以取若干对不相交的小写字母对(不相交指每个小写字母至多出现一次),然后对于一个由小写字母组成的字符串TT,我们将TT中出现在选中字母对中的字母替换为这个字母对中的另一个字母。 举个例子:我们选中了三对字母(l,r),(p,q)(l,r),(p,q)和(a,o)(a,o),那么,“parallelogramparallelogram”这个字符串将被编码为“qolorreraglomqolorreraglom”。 小P已经有了两个字符串SS和TT。他惊讶地发现,SS的许多子串竟然可以通过他所发明的新编码方法编码得到TT。于是小P想知道,SS中有多少个子串可以用如上所描述字符串编码方法编码得到TT。你能帮助他吗?

【输入】

第一行包含两个整数n,mn,m,表示SS与TT的串长。 接下来两行两个由小写字母构成的字符串SS与TT。

【输出】

第一行一个整数,表示满足条件的子串的个数kk。 接下来一行按照升序输出kk个整数,表示每个子串开始的位置(下标从11开始)。

【输入样例】

文本
11 5
abacabadaba
acaba

【输出样例】

文本
3
1 3 7

【提示】

【输入样例2】

文本
21 13
paraparallelogramgram
qolorreraglom

【输出样例2】

文本
1
5

【数据规模】 对于10%的数据,n,m≤10n,m≤10。 对于30%的数据,m≤50m≤50。 对于100%的数据,n,m≤2×105n,m≤2×10^5。

文本
21 13\nparaparallelogramgram\nqolorreraglom
文本
1\n5

数据下载

题目 1692 的公开数据

正在读取文件列表…

常用命令

题目 1692 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。