摘要: 后缀排序 char s[N]; int n,sa[N],rk[N],ork[N<<1]; int buc[N],id[N],pid[N]; bool cmp(int a,int b,int w){return ork[a]==ork[b] && ork[a+w]==ork[b+w];} void b 阅读全文
posted @ 2024-08-25 15:34 xishanmeigao 阅读(17) 评论(0) 推荐(0)
摘要: 构建 口胡一下过程: \(fail\) 边指向自己的最长回文后缀(偶根指向奇根)。 定理:每添加一个字符,至多新增一个新的本质不同的回文串,且是所有 回后缀中最长的。 由此得出推论:本质不同的回文子串(回文自动机的点数)不超过 |S| 暴力跳终止链,找到第一个左侧有 \(x\) 的回文后缀 \(v\ 阅读全文
posted @ 2024-08-25 15:33 xishanmeigao 阅读(20) 评论(0) 推荐(0)