标签:content 一个 选择 pre long 数字 style 英文字母 led
aabbaabb
3
1 3 5 7
1 3 6 8
1 2 1 2
Yes
No
Yes
#include <bits/stdc++.h> #define ll long long #define ull unsigned long long #define ld long double using namespace std; const int maxn=1e6+1; ll hashh[maxn],p[maxn]; char s[maxn]; int l1,l2,r1,r2; int n,len,q; int main() { scanf("%s",s+1); len=strlen(s+1); scanf("%d",&q); p[0]=1; for(int i=1;i<=len;i++) { hashh[i]=hashh[i-1]*103+(s[i]-‘a‘+1); p[i]=p[i-1]*103; } for(int i=0;i<q;i++) { scanf("%d %d %d %d",&l1,&r1,&l2,&r2); if(hashh[r1]-hashh[l1-1]*p[r1-l1+1]==hashh[r2]-hashh[l2-1]*p[r2-l2+1]) printf("Yes\n"); else printf("No\n"); } return 0; }
标签:content 一个 选择 pre long 数字 style 英文字母 led
原文地址:https://www.cnblogs.com/Diliiiii/p/9525999.html