0分全WA求助
查看原帖
0分全WA求助
868365
MunYixty楼主2023/1/8 11:54
 
#include<bits/stdc++.h>
using namespace std; 
namespace IO{ 
	char ibuf[(1<<20)+1],*iS,*iT;
	#if ONLINE_JUDGE
	#define gh() (iS==iT?iT=(iS=ibuf)+fread(ibuf,1,(1<<20)+1,stdin),(iS==iT?EOF:*iS++):*iS++)
 	#else
	#define gh() getchar()
	#endif
	inline long long read(){
		char ch=gh();
		long long x=0;
		bool t=0;
		while(ch<'0'||ch>'9')   t|=ch=='-',ch=gh();
		while(ch>='0'&&ch<='9') x=x*10+(ch^48),ch=gh();
		return t?-x:x;
	}
	inline char getc(){
		char ch=gh();
		while(ch<'a'||ch>'z') ch=gh();
		return ch;
	}
}
using IO::read;
using IO::getc;
const int N=3e6+10;
int n,q,x;
char s[N];
int main(){
	q=read();
	cin>>s;
	n=strlen(s);
	for(int i=0,j=0;i<n;i=j+1){
		while(j+1<=n&&s[j+1]==s[i]) j++;
		x++;
	}
	cout<<(x+1>>1)<<endl;
	while(q--){
		int a=read();
		a--;
		char c=getc();
		if(s[a-1]==s[a]&&s[a-1]!=c)
			x++;
		if(s[a+1]==s[a]&&s[a+1]!=c)
			x++;
		if(s[a-1]!=s[a]&&s[a-1]==c)
			x--;
		if(s[a+1]!=s[a]&&s[a+1]==c)
			x--;
		s[a]=c;
		cout<<(x+1>>1)<<endl;
	} 
	return 0;
}
2023/1/8 11:54
加载中...