摘要:
问题解决 一般用于解决一类最小表示或最小串的问题。 问题引入 例题: "poj1509" 求它的循环串中字典序最小的串的开头。 问题解决 暴力 找到所有的串存下来然后排序,复杂度$\Theta(n^2)$的。 诡异做法 建个后缀自动机然后遍历最小的字母边即可。 正经一点的 考虑两个指针$i$,$j$ 阅读全文
摘要:
问题引入 现在要求一个字符串中至少出现$k$次(可以重叠)的子串的最大长度。 问题解决 暴力 首先我们可以暴力找一个子串,暴力判断这个子串出现次数,暴力计算,这样子复杂度是$\Theta(n^3)$的。 SA 考虑一种全新的做法,后缀数组。 定义 $rnk_i$表示第$i$个后缀按照字典序排名为$r 阅读全文
摘要:
题面 "luogu" 题解 考虑对于后缀$s_i,s_j$怎么比较两个的大小,这里钦定$i include include include include include include include include using namespace std; define ll long long 阅读全文