随笔分类 - 字符串 - 哈希
摘要:构造后缀数组$SA[\ ]$,即对一个字符串的每个后缀按照字典序排序后得到的数组,在这里采用哈希+二分的方式优化字符串的比较部分,使得复杂度由$O(n^2 logn)\rightarrow O(n log^2n)$。 代码如下 cpp include using namespace std; con
阅读全文
摘要:在这里采用的是哈希+二分的方法。 根据回文串的性质可知,可以将回文分成奇回文和偶回文分别进行处理。 对于奇回文来说,每次枚举的端点一定是重合的,因此只需计算出端点左右公共的长度是多少即可,因此二分的是以该枚举点为中心的左半边共有多少个字符。 对于偶回文来说,每次枚举的端点不一定是相等的,因此在二分的
阅读全文
摘要:取进制数为131,每次$O(N)$时间预处理出幂次和母串的滚动哈希值。 代码如下 cpp include using namespace std; const int maxn=1e6+10; const int base=131; char s1[maxn],s2[maxn]; unsigned
阅读全文

浙公网安备 33010602011771号