后缀数组模板题,看了一天的后缀数组啊,我怎么这么弱TwT #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 200003; char s[N]; int t1[N], t2[N], sa[N], c[N]; void st(int *x, int *y, int n, int m) { int i; for(i = 0; i < m;…
一直不理解到底怎么做啊,想了好久$TwT$ 最后终于明白了为什么找到第一个满足条件的$fail$就计算,因为避免重复,这个回答,,, 然后$root$下面要接上26个节点,这里26个字母中不在字典内的都用$f[i][0]$代替了,这个也想了好久,$==$我还是回家种地吧. #include<cstdio> #include<cstring> #include<algorithm> #define mo 10007 #define N 103 #define M 6003…