[luoguP2679] 子串(DP)
2024-08-29 22:11:32
气死我了,自己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;
}
最新文章
- 整理Ajax的点点滴滴
- 惯性导航之MEMS加速度计原理
- Node.js的简介和安装
- javascript,jquery(闭包概念)
- thread dump
- eclipse设置字体大小
- Ant学习总结3(很多的属性,用的时候方便查找)
- Linux文件锁定保护命令chattr介绍
- 解决PhpStorm卡顿的问题
- Swift中String和NSString的一个不同之处
- tomcat中的线程问题
- 如何解决夜神模拟器连不上adb的问题
- 斯坦福大学公开课机器学习:advice for applying machine learning | learning curves (改进学习算法:高偏差和高方差与学习曲线的关系)
- Java语法之反射
- 《剑指offer》-判断对称二叉树
- CodeForces Contest #1114: Round #538 (Div. 2)
- C# 二种方法控制系统音量/麦克风大小
- VBscript实现开机自动启动,自动复制原件后启动
- android--------ListView和ExpandableListView的侧滑删除操作
- web客户端安全之跨站脚本攻击