Luogu2679

/*
思路清晰:
1.状态
2.转移方程:哪些状态相互影响/记忆化搜索思想
3.循环顺序
4.优化*/
#include<bits/stdc++.h>using namespace std;typedef long long LL;const int mod=1e9+7;
const int MAXN=1005;
const int MAXM=205;char a[MAXN],b[MAXM];
LL dp[2][MAXM][MAXM][2];
int n,m,num,ans;int main(){scanf("%d%d%d",&n,&m,&num);scanf("%s%s",a+1,b+1);dp[0][0][0][0]=dp[1][0][0][0]=1;//状态最重要for(int i=1;i<=n;i++){int now=i&1;//应该先得一些分再去想优化for(int j=1;j<=m;j++)for(int k=1;k<=num;k++){//根据dp方程反推循环顺序dp[now][j][k][0]=(dp[now^1][j][k][0]+dp[now^1][j][k][1])%mod;if(a[i]==b[j])dp[now][j][k][1]=(dp[now^1][j-1][k-1][0]+dp[now^1][j-1][k-1][1]+dp[now^1][j-1][k][1])%mod;//                    单独成串,不相连      单独成串,相连          接上一个串elsedp[now][j][k][1]=0;}}printf("%lld\n",(dp[n&1][m][num][0]+dp[n&1][m][num][1])%mod);
}

转载于:https://www.cnblogs.com/lizehon/p/10630445.html

[NOIP2015]子串相关推荐

  1. [NOIP2015] 子串

    题目描述 有两个仅包含小写英文字母的字符串 A 和 B.现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串,请问 ...

  2. [vijos1982][NOIP2015]子串

    Description 有两个仅包含小写英文字母的字符串和.现在要从字符串中取出个互不重叠的非空子串,然后把这个子串按照其在字符串中出现的顺序依次连接起来得到一个新的字符串,请问有多少种方案可以使得这 ...

  3. 【动态规划】字符串类型动态规划

    这里总结一下字符串类型的动态规划问题,一般涉及最值问题,方案数问题都可以使用动态规划来解决 最短编辑距离 这个问题显然是一个最优解问题,对于最优解问题我们可以考虑动态规划解题,因此我们得先考虑子问题, ...

  4. [比赛|考试] 9月第一周的考试

    Sept 8th Sat 牛客网普及组赛(360pts/400pts)(100/100/100/60) T1水题不放代码,来个链接 T2乱膜膜就行了,注意膜出来是0要变成N,还有开longlong比较 ...

  5. codevs 4560 NOIP2015 D2T2 子串

    传送门 题目描述 Description 有两个仅包含小写英文字母的字符串A和B.现在要从字符串A中取出k个互不重叠的非空子串,然后把这k个子串按照其在字符串A中出现的顺序依次连接起来得到一个新的字符 ...

  6. 【NOIP2015提高组】子串 区间DP+滚动数组优化

    题意: 有两个仅包含小写英文字母的字符串 A 和 B. 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一个新的字符串. 请问 ...

  7. Redis 笔记(03)— string类型(设置key、获取key、设置过期时间、批量设置获取key、对key进行加减、对key值进行追加、获取value子串)

    字符串 string 是 Redis 最简单的数据结构.Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据.不同类型的数据结构的 ...

  8. 寻找一个字符串的重复子串 后缀数组

    什么是后缀数组 令字符串 S=S[1]S[2]...S[n]S=S[1]S[2]...S[n]{\displaystyle S=S[1]S[2]...S[n]} , S[i,j]S[i,j]{\dis ...

  9. leetcode 3. Longest Substring Without Repeating Characters 最长非重复子串的长度 滑动窗口法

    题目链接 根据我们之前介绍的滑动窗口法的解法: 滑动窗口法详解 leetcode 438. Find All Anagrams in a String 滑动窗口法 这题,我们不难解决,使用之前的模板. ...

最新文章

  1. VS2010去掉每次全部编译
  2. 欧洲、加拿大、澳大利亚新增2.1万个点可购买比特币现金
  3. php get 传循环出来的参数_PHP性能优化小技巧
  4. 大数据文字游戏_基于大数据的游戏化教学系统研究.docx
  5. SQL Server 下的 获取当月最后一天
  6. 接口有class类对象吗
  7. 商品详情及规格参数的渲染
  8. 虚拟服务器 cms安装,轻量化云服务器怎么安装cms
  9. 为bootstrap+angularJs打造的表格代码生成器
  10. 基于STM32的嵌入式语音识别模块设计实现
  11. 设置指定打印机端口打印
  12. reactbootstrap php,什么是React-Bootstrap
  13. java Monitor对象监视器、对象头、mark word
  14. 小程序Git版本管理
  15. Todd's Matlab讲义第5讲:二分法和找根
  16. 员工转正述职答辩问什么问题_转正答辩会问什么问题?
  17. Python与ADB的基情四射(一)——简单命令
  18. 公众号如何开通留言功能?
  19. PHP 调用bing壁纸接口
  20. mysql分组排序后加序号

热门文章

  1. [umeditor] 多图片一次上传功能
  2. log4j2配置实例[按小时记录日志文件]
  3. Spring中WebApplicationContext
  4. openssh配置终极一帖
  5. JAVA条件表达式的陷阱
  6. 浅析SQL Server数据修复命令DBCC的使用
  7. Windows Mobile 5.0 设备的目录变化
  8. 联想e580没有声音_现在你可以购买通过 Linux 认证的联想 ThinkPad 和 ThinkStation
  9. 1097 Deduplication on a Linked List
  10. (C++)1008 数组元素循环右移问题