4560 NOIP2015 D2T2 子串

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

有两个仅包含小写英文字母的字符串A和B。现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符串,请问有多少种方案可以使得这个新串与字符串B相等?注意:子串取出的位置不同也认为是不同的方案。

输入描述 Input Description

第一行是三个正整数n,m,k,分别表示字符串A的长度,字符串B的长度,以及问题描述中所提到的k,每两个整数之间用一个空格隔开。

第二行包含一个长度为n的字符串,表示字符串A。 第三行包含一个长度为m的字符串,表示字符串B。

输出描述 Output Description

输出共一行,包含一个整数,表示所求方案数。由于答案可能很大,所以这里要求输出答案对1,000,000,007取模的结果。

样例输入 Sample Input

【Input1】

6 3 1

aabaab

aab

【Input2】

6 3 2

aabaab

aab

【Input3】

6 3 3

aabaab

aab

样例输出 Sample Output

【Output1】

2

【Output2】

7

【Output3】

7

数据范围及提示 Data Size & Hint

对于第1组数据:1≤n≤500,1≤m≤50,k=1;

对于第2组至第3组数据:1≤n≤500,1≤m≤50,k=2;

对于第4组至第5组数据:1≤n≤500,1≤m≤50,k=m;

对于第1组至第7组数据:1≤n≤500,1≤m≤50,1≤k≤m;

对于第1组至第9组数据:1≤n≤1000,1≤m≤100,1≤k≤m;

对于所有10组数据:1≤n≤1000,1≤m≤200,1≤k≤m。

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int maxn=,maxm=,mod=;
int n,m,kk,f[maxm][maxm],s[maxm][maxm];
char sa[maxn],sb[maxm];
void work(){
int i,j,k;
s[][]=;
for(i=;i<=n;i++){
for(j=m;j>;j--){ if(sa[i-]==sb[j-])
for(k=min(kk,j);k>;k--){
f[j][k]=(f[j-][k]+s[j-][k-])%mod;
s[j][k]=(s[j][k]+f[j][k])%mod;
}
else for(k=min(kk,j);k>;k--)
f[j][k]=;
}
}
printf("%d",s[m][kk]);
}
int main(){
scanf("%d%d%d%s%s",&n,&m,&kk,sa,sb);
work();
return ;
}

最新文章

  1. KVM安装部署
  2. Android之View和SurfaceView
  3. NGUI之渲染DrawCall的合并
  4. Python基础(2)--对象类型
  5. 《ASP.NET MVC4 WEB编程》学习笔记------Web API 续
  6. BZOJ 1067 &amp; Interval_Tree
  7. Careercup - Google面试题 - 6407924087783424
  8. Android开发UI之android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分
  9. 带权并查集 poj1182
  10. Qt 不规则窗体的实现(构造函数里setPaletteBackgroundPixmap后设置setMask)
  11. C-最长回文子串(2)
  12. iOS国际化和genstrings所有子文件夹本地化字符串
  13. lnmp一键安装包配置laravel项目
  14. Web安全检测工具的使用.
  15. jquery template.js前端模板引擎
  16. 测试报告_HTMLTestRunner.py
  17. 利用 Charles Proxy 下载旧版本 iOS App
  18. IE6浏览器无法打开QQ邮箱
  19. SqlServer_存储过程
  20. python编程 之 PyMysql包接口,python中如何使用数据库

热门文章

  1. Agar.io 简单但是有趣的网页游戏
  2. C - GCD LCM
  3. Spring加载applicationContext.xml实现spring容器管理的几种方式
  4. CircuitBreaker design pattern---reference
  5. mybatis使用中类属性名和数据库表字段名问题
  6. cocos2d-x android 环境部署
  7. (2)麻省理工:计算机科学和 Python 编程导论
  8. opencv识别验证码的教程和资料
  9. 前端er怎样操作剪切复制以及禁止复制+破解等
  10. Android中 string.xml资源 如何添加参数?