138. 兔子与兔子字符串哈希
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了138. 兔子与兔子字符串哈希相关的知识,希望对你有一定的参考价值。
很基础的字符串哈希
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long int ull;
const int N=1e6+10;
const int M=233;
ull base[N],h[N],n;
string s;
void init()
base[0]=1;
for(int i=1;i<N;i++) base[i]=base[i-1]*M;
ull get(int l,int r)//获取字符串[l,r]的哈希值
return h[r]-h[l-1]*base[r-l+1];
int main(void)
cin>>s;
s="0"+s;
init();
for(int i=1;i<s.size();i++) h[i]=h[i-1]*M+s[i]-'a';
cin>>n;
while(n--)
int l1,r1,l2,r2; cin>>l1>>r1>>l2>>r2;
ull sum1=get(l1,r1);
ull sum2=get(l2,r2);
if(sum1==sum2) puts("Yes");
else puts("No");
return 0;
以上是关于138. 兔子与兔子字符串哈希的主要内容,如果未能解决你的问题,请参考以下文章