社区讨论

10分代码求调

P2679[NOIP 2015 提高组] 子串参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lzjzg8vg
此快照首次捕获于
2024/08/07 23:07
2 年前
此快照最后确认于
2024/08/08 09:04
2 年前
查看原帖
CPP
# include <bits/stdc++.h>
using namespace std;
#define int long long 
char s[1010],t[1010];
map<int,int> dp[1010][1010][2];
const int mod = 1e9+7;
signed main (){
	int n,m,k;
	scanf("%lld%lld%lld",&n,&m,&k);
	scanf("%s%s",(s+1),(t+1));
	for(int i = 0;i <= n;i++) dp[i][0][0][0] = 1;
	for(int i = 1;i <= n;i++)
	{
		for(int j = 1;j <= m;j++)
		{
			for(int u = 1;u <= k;u++)
			{
				if(s[i] == t[j])
				{
					dp[i][j][u][0] += (dp[i-1][j][u][0]+dp[i-1][j][u][1])%mod;
					dp[i][j][u][1] += ((dp[i-1][j-1][u-1][0]+dp[i-1][j-1][u-1][1])%mod+dp[i-1][j-1][u][1])%mod;
				}
				else
				{
					dp[i][j][u][1] = 0;
					dp[i][j][u][0] += (dp[i-1][j][u][0]+dp[i-1][j][u][1])%mod;
				}
			}
		}
	}
	cout << (dp[n][m][k][0]+dp[n][m][k][1])%mod;
	return 0;
}
求教一下各位大佬,上面的代码虽然会爆空间,但是我还是决定写一下,可是却00分,请求各位大佬帮忙找一下问题!谢谢各位

回复

0 条回复,欢迎继续交流。

正在加载回复...