cf Queries on a String

#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define maxn 200005
char s[maxn];
int nxt[maxn][],ans[maxn],t[maxn];
int main(){
int q;
scanf("%s %d",s+,&q);
int n=strlen(s+);
memset(nxt[n],-,sizeof nxt[n]);
for(int i=n-;i>=;i--)
for(int j=;j<;j++)
if(s[i+]-'a'==j) nxt[i][j]=i+;//下一个 'a'+j 在字符串的第i+1个位置
else nxt[i][j]=nxt[i+][j];//下一个'a'+j字符在字符串的nxt[i+1][j]个位置 int len=;
char op[],c;
t[]=;
while(q--){
scanf("%s",op);
if(op[]=='s'){
cin >> c;
if(t[len-]==-) t[len]=-;
else t[len]=nxt[t[len-]][c-'a'];
len++;
}
else len--;
if(t[len-]!=-) puts("YES");
else puts("NO");
}
return ;
}
上一篇:Android——RecycleView


下一篇:[WDS] Warnings while compiling. vue 项目运行控制台输出太多警告信息