码迷,mamicode.com
首页 > 其他好文 > 详细

hash小结

时间:2019-08-11 20:21:12      阅读:69      评论:0      收藏:0      [点我收藏+]

标签:http   小结   mamicode   https   code   return   inline   span   hash   

技术图片

hash

int hash(ll x)
{
    ll t = x % N;
    while (h[t] && h[t] != x) t = (t + 1) % N;
    return t;
}

int main()
{
    fo(i, 1, n)
        x = (x * 26 + s[i] - 97) % mo;
    t = hash(x);
    h[t] = x;
}

double hash

int hash(ll x, ll y)
{
    ll t = x % N;
    while (h[t][0] && (h[t][0] != x || h[t][1] != y)) t = (t + 1) % N;
    return t;
}

int main()
{
    fo(i, 1, n)
    {
        x = (x * 26 + s[i] - 97) % mo;
        y = (y * 26 + s[i] - 97) % mo1;
    }
    t = hash(x, y);
    h[t][0] = x, h[t][1] = y;
}

hash字符串中的子串

int main()
{
    cf[0] = 1;
    fo(i, 1, n) cf[i] = cf[i - 1]  * 26; 
    fo(i, 1, n)
        qz[i] = (qz[i - 1] * 26 + s[i] - 97) % mo;
//  对于[i~j]的hash值 
    (qz[j] - qz[i - 1] * cf[j - i + 1] % mo + mo) % mo;
}

树hash

\(hash\)用来比较树是否同构。

详见该博客

hash小结

标签:http   小结   mamicode   https   code   return   inline   span   hash   

原文地址:https://www.cnblogs.com/jz929/p/11336285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!