后缀自动机(SAM)模板
2017-12-07 17:09
260 查看
Code
void make() { int last=1; fo(i,1,n) { int p=last,c=ch[i]-'A'; mx[last=++tot]=i; while(p&&!t[p][c]) t[p][c]=ls,p=fail[p]; if(p) { int q=t[p][c]; if(mx[q]==mx[p]+1) fail[last]=q; else { fail[++tot]=fail[q]; fail[last]=fail[q]=tot; fo(j,0,25) t[tot][j]=t[q][j]; mx[tot]=mx[p]+1; while(p&&t[p][c]==q) t[p][c]=tot,p=fail[p]; } } else fail[last]=1; } }
相关文章推荐
- 【模板整合】SAM后缀自动机的构建
- Sam后缀自动机模板
- 后缀自动机,SAM,suffix automaton 模板
- 后缀自动机模板 SAM
- SAM(后缀自动机)模板
- 后缀自动机(SAM)模板
- 【算法专题】后缀自动机SAM
- 后缀自动机(SAM) :SPOJ LCS - Longest Common Substring
- hdu4622(后缀自动机模板)
- 后缀自动机(SAM)
- hdu4436 str2int 后缀自动机 SAM
- ZOJ3891 K-hash 后缀自动机SAM
- 字符串模板总结(五):后缀自动机
- SAM后缀自动机学习小记 Poj 1509 Glass Beads (字符串最小表示)
- 后缀自动机SAM
- Luogu3804 【模板】后缀自动机(后缀自动机)
- 【Luogu3804】【模板】后缀自动机(后缀自动机)
- poj1509 后缀自动机模板题
- [hdu4416 Good Article Good sentence]后缀自动机SAM
- 后缀自动机(最长公共子串、模板)spoj1811