求助
查看原帖
求助
808773
forever516楼主2024/10/8 20:05

按第一篇题解思路打的,哪里有问题?

#include<bits/stdc++.h>
#define N 3005
#define P 51971
#define MOD 114514
#define ll long long
using namespace std;
ll n,t[N*N];
char a[N],b[N];
int main(){
	cin>>n>>a+1>>b+1;
	for(int i=1;i<=n;i++){
		ll v=0,p=1;
		for(int j=i;j<=n;j++){
			while(p<=n&&a[p]<=b[j])p++;
			if(p>n)break;
			p++;
			v=(1LL*v*P+b[j]-'a'+1)%MOD;
			t[++t[0]]=v;
		}
	}
	sort(t+1,t+t[0]+1);
	cout<<(unique(t+1,t+t[0]+1)-t-1);
	return 0;
} 
2024/10/8 20:05
加载中...