蒟蒻求调
查看原帖
蒟蒻求调
381053
CQ_Bab楼主2023/8/11 14:11

本人有两份代码,请问下为为什么等分不同。

#include <bits/stdc++.h>
#define IOS std::ios::sync_with_stdio(fasle);cin.tie(NULL);cout.tie(NULL)
#define int long long
#define ri register int
#define rep(i,x,y) for(ri i=x;i<=y;i++)
#define rep1(i,x,y) for(ri i=x;i>=y;i--)
#define il inline
#define fire signed
#define pai(a,x,y) sort(a+x,a+y+1)
using namespace std ;
il int qmi(int a,int b) {
	int res=1;
	while(b) {
		if(b&1) res=(res*a);
		a=a*a;
		b>>=1;
	}
	return res;
}
void print(int x) {
	if(x>=10) print(x/10);
	putchar(x%10+'0');
}
#define gcd(x,y) __gcd(x,y)
#define lcm(x,y) x*y/gcd(x,y)
int n;
char c[200100];
const int mod=998244353;
int f[200100];
int s[200100];
fire main() {
//	freopen("divide.in","r",stdin);
//	freopen("divide.out","w",stdout);
	cin>>n>>(c+1);
	f[1]=c[1]-'0';
	s[1]=f[1];
	int sum=(c[1]-'0');
	rep(i,2,n) {
		sum=sum*10+(c[i]-'0')%mod;
		f[i]=((f[i-1]-(int)sum/10)%mod*10)%mod;
		f[i]=(f[i]+s[i-1]*(c[i]-'0')%mod+sum)%mod;
		s[i]=(s[i-1]+f[i])%mod;
	}
	print(f[n]);
	return false;
}

全错代码

#include <bits/stdc++.h>
#define IOS std::ios::sync_with_stdio(fasle);cin.tie(NULL);cout.tie(NULL)
#define int long long
#define ri register int
#define rep(i,x,y) for(ri i=x;i<=y;i++)
#define rep1(i,x,y) for(ri i=x;i>=y;i--)
#define il inline
#define fire signed
#define pai(a,x,y) sort(a+x,a+y+1)
using namespace std ;
il int qmi(int a,int b) {
	int res=1;
	while(b) {
		if(b&1) res=(res*a);
		a=a*a;
		b>>=1;
	}
	return res;
}
void print(int x) {
	if(x>=10) print(x/10);
	putchar(x%10+'0');
}
#define gcd(x,y) __gcd(x,y)
#define lcm(x,y) x*y/gcd(x,y)
int n;
char c[200100];
const int mod=998244353;
int f[200100];
int s[200100];
fire main() {
//	freopen("divide.in","r",stdin);
//	freopen("divide.out","w",stdout);
	cin>>n>>(c+1);
	f[1]=c[1]-'0';
	s[1]=f[1];
	int sum=(c[1]-'0');
	rep(i,2,n) {
		f[i]=((f[i-1]-sum)*10)%mod;
		sum=sum*10+(c[i]-'0');
		f[i]=(f[i]+s[i-1]*(c[i]-'0')+sum)%mod;
		s[i]=(s[i-1]+f[i])%mod;
	}
	print(f[n]);
	return false;
}

连份代码就在实现上有一些不同,但是思路一样。

2023/8/11 14:11
加载中...