随笔分类 - 字符串——哈希
摘要:概念 用hash求最长回文串/回文串数 首先,易知,回文串具有单调性。 因此,可以二分。 通常,枚举一下起点或者中点,然后二分长度。 这样复杂度为 ,逊色于马拉车 ,但在时限不那么紧的情况下,hash也是不错的选择。 例题 题意:对于一个 0/1 串,如果将这个字符串
阅读全文
摘要:题意 给出两个字符串 ,求 在 中出现的次数。 分析 预处理出两个字符串的哈希值,再逐位比较。 时间复杂度为 ,和 算法一样。 可能常数大一点点,还有就是没法用 的 数组。 参考链接:https://zh
阅读全文
摘要:概念 查询字串的hash值 我们所说的哈希通常都是进制哈希,因为它具有一些很方便的性质,例如,具有和前缀和类似的性质。 假设一个字符串的前缀哈希值记为 ,进制为 ,那么显然 . 记 为 $bas
阅读全文
摘要:只讨论最常用的进制哈希。 例题 洛谷P3370 题意:求 N 个字符串中有多少个不同的字符串()。 分析: 对每个字符串求一次哈希值,然后统计有多少个不同的哈希值。 单哈希 选择一个大质数,或者自然溢出。 双哈希 采用两个模数,哈希冲突的概率会降低很多,但常数会增大。 参考
阅读全文