zoukankan      html  css  js  c++  java
  • 【字符串】——hash

    直到今天,我才知道哈希是这样写的。


    对于一个字符串c,我们可以将它hash掉,得到一个与众不同的值。

    定义

    typedef unsigned long long ull;
    const int N=4e5+10;
    char c[N];
    ull h[N],g[N];
    void hash(){
        g[0]=1;
        for(int i=1;c[i];i++){
            h[i]=h[i-1]*131+c[i];
            g[i]=g[i-1]*131;
        }
    }

    则它的子串为,其中p为一个质数。

    ull tt=h[len]-h[len-i]*g[i];

    利用ull的性质,大于上限的数会被自动取模,达到hash的目的。

    ——抓住了时间,却不会利用的人,终究也逃不过失败的命运。
  • 相关阅读:
    lc739
    POJ3280
    6.2
    5.30
    5.28
    5.26
    5.26
    5.25
    从0搭建vue项目
    docker安装jenkins并使用
  • 原文地址:https://www.cnblogs.com/Nelson992770019/p/11354257.html
Copyright © 2011-2022 走看看