预处理
标志重捕法???
https://ac.nowcoder.com/acm/contest/15084/B
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int main() {
string s;
cin>>s;
int len=s.size();
bool a[len];
memset(a,false,sizeof(a));
bool flag=true;
int cnt=0;
for(int i=0; i<len; i++)
if(s[i]!=s[len-i-1]) {
cnt++;
a[i]=true;
}
int n;
scanf("%d",&n);
int index;
char c;
cnt/=2;
while(n--) {
scanf("%d%*c%c",&index,&c);
index-=1;
s[index]=c;
if(a[index]) {
if(s[len-index-1]==c) {
cnt--;
a[index]=false;
a[len-index-1]=false;
}
} else {
if(s[len-index-1]!=c) {
cnt++;
a[index]=true;
a[len-index-1]=true;
}
}
if(!cnt) printf("Yes\n");
else printf("No\n");
}
return 0;
}