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