这是洛谷炸了吗?
查看原帖
这是洛谷炸了吗?
696106
Leowang2009楼主2022/11/12 21:41

下了第二个测试点,在本地和AcWing上测的都能过,洛谷上WA八个点

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int n,m,k,opt;
long long dp[1005][205][2],sum[1005][205];
char s[1005],p[205];
signed main(){
	scanf("%lld%lld%lld",&n,&m,&k);
	scanf("%s%s",s+1,p+1);
	for(int i=0;i<=n;i++) dp[i][0][opt]=1,sum[i][0]=1;
	for(int l=1;l<=k;l++){opt^=1,dp[0][0][opt]=0;
		for(int i=1;i<=n;i++){dp[i][0][opt]=0;
			for(int j=1;j<=m;j++){
				dp[i][j][opt]=dp[i-1][j][opt];
				if(s[i]==p[j]) sum[i-1][j-1]=sum[i-2][j-2]+dp[i-1][j-1][opt^1],dp[i][j][opt]+=sum[i-1][j-1],dp[i][j][opt]%=mod;
				else sum[i-1][j-1]=0;
			}
		}
		memset(sum,0,sizeof(sum));
	}
	cout<<dp[n][m][opt];
	return 0;
}
2022/11/12 21:41
加载中...