回文自动机PAM小结
回文自动机PAM小结
本文搬运自本人高中时期CSDN博客,若图片加载不出来,可到原文查看:https://blog.csdn.net/zhangtingxiqwq/article/details/132136120
https://www.luogu.com.cn/problem/P5496
类似AC自动机,维护两个指针,nxt和fail
nxt表示当前回文串开头末尾都接a转移到哪
fail表示当前串最长broder
PAM关键点:一个回文串的broder一定也是回文串,而且所有回文子串(末尾相同)都可以用此方法构造
然后转移和AC自动机类似。
几个理解上的易错点:
-
fail[1]=0,代码上没写出来,但对于单个字符
a的fail应该是0,XaX匹配失败应该是尝试匹配XX -
应该先算fail在加入点。考虑
ab,b在失配过程中发现XX形式不行,然后fail到-1号点。如果已经加入就会自己匹配自己了。 -
计算长度应该由父亲+2转移过来,但num应该是由fail转移过来
-
1号点代表的是初始长度为-1

dfcc的PAM
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhangxixi的博客!





