题解
知识点:
后缀数组,最长公共前缀
分析:
这道题是一道lcp的入门题,主要是先求出SA,然后通过SA线性求出Height,最后预处理出ST表,然后每次访问的时候调用即可。细节较多,在代码中讲解。
时间复杂度:
求SA:O(nlog2n)
求Height:O(n)
st表的预处理:O(nlog2n)
单次回答:O(1)
总计:O(nlog2n)
代码:
1 |
|
苟利国家生死以,岂因祸福避趋之
后缀数组,最长公共前缀
这道题是一道lcp的入门题,主要是先求出SA,然后通过SA线性求出Height,最后预处理出ST表,然后每次访问的时候调用即可。细节较多,在代码中讲解。
时间复杂度:
求SA:O(nlog2n)
求Height:O(n)
st表的预处理:O(nlog2n)
单次回答:O(1)
总计:O(nlog2n)
1 | #include<cstdio> |