思路:
构造。
实现:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 string s;int q; 5 while(cin>>s>>q){ 6 int n=s.length(); 7 vector<vector<int>>v(n+1,vector<int>(26,0)); 8 for(int i=0;i<n;i++){ 9 for(int j=0;j<26;j++){ 10 v[i+1][j]=v[i][j]; 11 } 12 v[i+1][s[i]-'a']++; 13 } 14 while(q--){ 15 int l,r;cin>>l>>r; 16 int cnt=0; 17 for(int i=0;i<26;i++){ 18 int num=v[r][i]-v[l-1][i]; 19 if(num)cnt++; 20 } 21 if(l==r or cnt>2 or s[l-1]!=s[r-1]){ 22 cout<<"yes"<<endl; 23 } 24 else cout<<"no"<<endl; 25 } 26 } 27 return 0; 28 }