10分求助
查看原帖
10分求助
1246509
fbghi楼主2025/1/16 18:03

求助,10分

#include<iostream>
#include<cmath>
#include<iomanip>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=1e6+5;
int s1,s4,s5;
int f4[N]={1},f5[N]={1};
int mod=99824353;
int main()
{
	int i,j,k,m,n,l,r;
	string s,a;
	cin>>s;
	for(i=1;i<=N;i++)
	{
		f4[i]=f4[i-1]*4%mod;
		f5[i]=f5[i-1]*5%mod;
	}
	for(i=0;i<s.size();i++)
	{
		if(s[i]=='1') s1++; 
		if(s[i]=='4') s4++;
		if(s[i]=='5') s5++;
	}
//	cout<<cnt<<" "<<sum<<" "<<sig;
	cin>>m;
	while(m--)
	{
		cin>>l>>r;
		l--;
		r--;
		cin>>a;
		for(i=l,j=0;i<=r&&j<a.size();i++,j++)
		{
			if(s[i]=='1') s1--;
			if(s[i]=='4') s4--;
			if(s[i]=='5') s5--;
			if(a[j]=='1') s1++;
			if(a[j]=='4') s4++;
			if(a[j]=='5') s5++;
			s[i]=a[j];
//			cout<<i<<" : "<<cnt<<" "<<sum<<" "<<sig<<endl;
		}
//		printf("%d %d %d\n",s1,s4,s5);
		cout<<s1<<" "<<(s1+s4*4+s5*5)%mod<<" "<<f4[s4]*f5[s5]%mod<<"\n";
	}
	return 0;
}
2025/1/16 18:03
加载中...