摘要:
[UOJ35]后缀排序 题目大意: 对于给定的长度为$n(n\le10^6)$的字符串求后缀数组$sa[i]$和高度数组$lcp[i]$。 思路: 倍增+快排构造后缀数组,利用$rank[i]$求$lcp[i]$。时间复杂度$\mathcal O(n\log^2 n)$。 源代码: cpp incl 阅读全文
摘要:
[POJ3581]Sequence 题目大意: 给定序列$A_{1\sim n}$,其中$A_1$为最大的数。要把这个序列分成$3$个非空段,并将每一段分别反转,求能得到的字典序最小的序列。 思路: 对于第一段,由于$A_1$是最大的数字,因此我们可以将$A_{1\sim n}$翻转,用后缀数组求最 阅读全文
摘要:
[洛谷P3809]【模板】后缀排序 题目大意: 对于给定的长度为$n(n\le10^6)$的字符串求后缀数组$sa[i]$。 思路: 倍增+快排构造后缀数组。代码参考《挑战程序设计竞赛》。时间复杂度$\mathcal O(n\log^2n)$。 源代码: cpp include include in 阅读全文