后缀数组(Suffix Array)
前言
SA是一种解决多模板匹配问题的算法。大致就是将后缀处理出来然后按照字典序排个序。时间主要浪费在排序上。
sa数组sa[i]表示rk为i的后缀的开始位置。
rk数组rk[i]表示以i位置开始的后缀的rank为多少。
基数排序
先排个位,然后十位依次往下,稳定算法。
模板
const int N = 1e6 + 5; // 开二倍吧
int sa[N], rk[N], Height...
原创
2019-08-24 17:29:42 ·
254 阅读 ·
0 评论