题目
思路
显然的前缀和
code:
#include<cstring>
#include<algorithm>
#include<cmath>
#include<iostream>
#include<queue>
using namespace std;
struct f{
int a[27];
} a[50001];
int main()
{
string x;
cin>>x;
for (int i=0;i<x.size();i++) a[i+1]=a[i],a[i+1].a[x[i]-'a']++;
int n;
cin>>n;
for (int i=1;i<=n;i++)
{
int x1,y1,x2,y2;
cin>>x1>>y1>>x2>>y2;
if (x1>y1) swap(x1,y1);
if (x2>y2) swap(x2,y2);
int j;
for (j=0;j<26;j++) if (a[y1].a[j]-a[x1-1].a[j]!=a[y2].a[j]-a[x2-1].a[j]) break;
if (j==26) cout<<"DA"<<endl;
else cout<<"NE"<<endl;
}
return 0;
}