PAM

回文自动机(PAM)

节点意义:一个长度为len的回文串

奇偶根:分别连接长度为奇/偶的回文串

son指针:将x左右各加一个\(c\)

fa指针:最长回文后缀

性质:

  • 节点只有n个(也就是说一个字符串的本质不同回文串最多只有n个)

构建

先找到父亲节点,从prv往上跳fa,直到s[i]=s[i-len-1](因为保证中间len个字符构成了一个回文串,所以只用看左右两个字符是否相同)

有这个儿子就返回这个儿子,否则新建一个儿子,len=len(prv)+2

fa指针和找父亲一模一样,从fa(prv)往上跳

应用扩展

互不包含的回文串一类问题,转化成DAG上的反链问题

偏冷门(大雾)

posted @ 2021-07-01 15:19  oisdoaiu  阅读(295)  评论(0编辑  收藏  举报