后缀数组----------------------------模板(hash+二分+最长公共前缀)
对于SA数组
SA[i]=i:表示 i~n的后缀 的起始位置为i
对于最长公共前缀我们可以hash+二分求解出来
对于SA数组的排序,可以根据最长公共前缀后一个字符作为关键字比较
#pragma GCC optimize(3,"Ofast","inline")
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ull;
const int N=1e6+1000;
ull h[N],p[N],P=13..
原创
2020-05-16 11:17:38 ·
253 阅读 ·
0 评论