WA,玄关大佬求调
查看原帖
WA,玄关大佬求调
1350908
gjrBJ楼主2025/2/8 17:26

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;
}
2025/2/8 17:26
加载中...