zoukankan      html  css  js  c++  java
  • 【字符串】字符串多项式哈希

    哈希的错误概率

    常见的大质数:1000000007,998244353,19260817
    不常见的大质数:32582657, 37156667, 42643801, 43112609(梅森质数)

    一般取模数为 1e9+7 或者998244353,BASE值选233或者311。

    当n为1e6时,模数在1e9量级会达到1/1000的错误,并不是可以忽略不计的。所以可以同时选用两个哈希值去比较(或者用快速乘等方法防溢出后扩大模数范围,但这样比用两个哈希值去做要蠢)。

    子串哈希值

    多项式哈希的话,可以给[1,r]的哈希值减去[1,l-1]的哈希值的 (B^(r-l+1))

    可以解决的问题

    最长回文子串

    预处理正着和倒着的哈希,然后枚举中心并二分出以此为中心的最长长度(写起来不如manacher算法方便)。

  • 相关阅读:
    TCP协议
    各相机品牌型号分类
    思科华为命令对比
    网工笔记(一)
    数学笔记
    word快捷键汇总
    请个假
    word笔记
    ScrollView不能到顶部的解决方法
    Gridview 显示成正方形
  • 原文地址:https://www.cnblogs.com/purinliang/p/13673678.html
Copyright © 2011-2022 走看看