used哈希。but is 不对!!!大佬求调!!!
#include<bits/stdc++.h>
#define int long long
using namespace std;
string s;
int m, l1, r1, l2, r2, sum[1000010];
int mypow(int a, int b) {
int ans = 1;
while (b) {
if (b & 1) ans = ans * a;
a = a * a;
b >>= 1;
}
return ans;
}
signed main() {
cin >> s >> m;
int n = s.size();
s = " " + s;
for (int i = 1; i <= n; i++) {
sum[i] = (sum[i - 1] * 26 + s[i] - 'a');
}
while (m--) {
cin >> l1 >> r1 >> l2 >> r2;
int ans1 = (sum[r1] - mypow(26, r1 - l1 + 1) * sum[l1 - 1]);
int ans2 = (sum[r2] - mypow(26, r2 - l2 + 1) * sum[l2 - 1]);
if (ans1 == ans2) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}