求助
  • 板块灌水区
  • 楼主OIer6666
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/8/20 15:48
  • 上次更新2023/11/3 02:27:08
查看原帖
求助
1004460
OIer6666楼主2023/8/20 15:48
#include<iostream>
#include<cstring>
#include<algorithm>
#include<map>
#include<vector>
#include<cstring>
#define ll long long
#define MOD 99824353
using namespace std;
char s[3000005],x[3000005],a=0,b=0,c=1;
void func(ll l,ll r){
	ll i=0;
	for(ll j=l;j<=r;j++){
		if(s[j]=='1')a--;
		int tmp=s[j]-'0';
		b-=tmp;
		c/=tmp;
		s[j]=x[i++];
		int tmp2=s[j]-'0';
		b+=tmp2;
		c*=tmp2;
		if(s[j]=='1')a++;
		b%=MOD;
		c%=MOD;
	}
}
ll ans1(){
	ll cnt=0;
	for(ll i=0;i<strlen(s);i++)
		if(s[i]=='1')
			cnt++,cnt%=MOD;
	return cnt;
}
ll ans2(){
	ll cnt=0;
	for(ll i=0;i<strlen(s);i++){
		cnt+=(s[i]-'0');cnt%=MOD;}
	return cnt;
}
ll ans3(){
	ll cnt=1;
	for(ll i=0;i<strlen(s);i++){
		cnt*=(s[i]-'0');cnt%=MOD;}
	return cnt;
}
int main(){
//	ios::sync_with_stdio(false);
	cin>>s;
	ll n;cin>>n;
	a=ans1(),b=ans2(),c=ans3();
	while(n--){
		ll l,r;cin>>l>>r;
		cin>>x;
		func(l-1,r-1);
		printf("%d %d %d\n",a,b,c);
	}
	return 0;
}

求助

2023/8/20 15:48
加载中...