码迷,mamicode.com
首页 > 其他好文 > 详细

[luoguP2679] 子串(DP)

时间:2017-08-11 19:29:18      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:ret   for   cst   std   ble   amp   target   .com   pid   

传送门

 

气死我了,自己YY的方法只能得70分。

一个下午都在搞这道题。

 

至于正解,真的不想写了。

请移步 here

 

#include <cstdio>
#define M 201
#define N 1001
#define p 1000000007
#define LL long long

int n, m, t;
char A[N], B[M];
LL f[2][M][M], sum[2][M][M];

int main()
{
	int i, j, k;
	scanf("%d %d %d", &n, &m, &t);
	scanf("%s %s", A + 1, B + 1);
	for(i = 1; i <= n; i++)
	{
		sum[(i & 1) ^ 1][0][0] = 1;
		for(j = 1; j <= m; j++)
			for(k = 1; k <= t; k++)
			{
				if(A[i] != B[j]) f[i & 1][j][k] = 0;
				if(A[i] == B[j]) f[i & 1][j][k] = (f[(i & 1) ^ 1][j - 1][k] + sum[(i & 1) ^ 1][j - 1][k - 1]) % p;
				sum[i & 1][j][k] = (sum[(i & 1) ^ 1][j][k] + f[i & 1][j][k]) % p;
			}
	}
	printf("%lld\n", sum[n & 1][m][t]);
	return 0;
}

  

[luoguP2679] 子串(DP)

标签:ret   for   cst   std   ble   amp   target   .com   pid   

原文地址:http://www.cnblogs.com/zhenghaotian/p/7347494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!