[Code] Hash C++

void iniHash() {
    Int i;

    p[0]=1;
    FOR(i,1,n) p[i]=(p[i-1]*26) % base;

    h[0]=0;
    for (i=1;i<=n;i++) h[i]=(h[i-1]*26 + a[i-1]-'a')%base;
}

Int getHash(Int i, Int j) {
    return (h[j+1]-h[i]*p[j+1-i]+base*base)%base;
}


Chú ý: long long base=int(1e9+7);
Đăng bởi Unknown lúc lúc tháng 12 23, 2013 0 bình luận
Tags:

Không có nhận xét nào:

Đăng nhận xét

Copyright © 2018. NguyenQuangVinh.net, Edit by Daotaotinhoc.vn