欢迎光临散文网 会员登陆 & 注册

CF竞赛题目讲解_CF235C(后缀自动机树+循环查找子串)

2022-10-02 12:37 作者:Clayton_Zhou  | 我要投稿

https://codeforces.com/problemset/problem/235/C

题意:

已知一个文本串s。询问n个匹配的本质不同的循环同构在文本串s中出现了几次。


题解:

我们匹配完原串之后, 在头部删去一个字符然后又在末尾加上一个字符继续匹配。

使用SAM匹配的话,发现每次在parents树上向上移动节点相当于删去头部的字符,

 在parents树上一直向上移动,使得节点长度刚好大于匹配串的长度。 


要求本质不同的话,就直接在统计过答案的点打上标记,后面不统计即可。


CF竞赛题目讲解_CF235C(后缀自动机树+循环查找子串)的评论 (共 条)

分享到微博请遵守国家法律