
后缀自动机
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
SPOJ - NSUBSTR
#include#include#include#include#includeusing namespace std;struct suffix_automaton{ int fa,son[28],l,key;} a[610000];int i,j,k,l,n,m,len,root,d[300000],rnk[600000],f[300000];char c[300000];原创 2017-09-17 19:40:28 · 475 阅读 · 0 评论 -
SPOJ - DISUBSTR
这题体现了后缀自动机的不足之处,如果此题长度是什么10^5,然后又不告诉你有多少种字符的话,不用后缀数组而去用后缀自动机就会炸空间。不过此题还是可做的,对于每一个结点所在的位置为右节点的后缀可以用st[i].len-st[st[i].pre].len;短于等于st[i].pre前面的之后到了那个结点又会继续统计。#include#include#define maxl 1010stru原创 2017-09-17 20:42:34 · 297 阅读 · 0 评论