传送门

f[i][j] 表示第 1 个串匹配到第 i 位,第 2 个串匹配到第 j 位的答案。

f[i][j] = max(f[i - 1][j], f[i][j - 1])              (a[i] != b[j])

f[i][j] = max(f[i - 1][j], f[i][j - 1], f[i - 1][j - 1] + 1)  (a[i] == b[j])

——代码

 #include <cstdio>
#include <cstring>
#include <iostream> using std::max; int n, m, f[][];
char a[] = {''}, b[] = {''}; int main()
{
int i, j;
scanf("%s %s", a + , b + );
n = strlen(a);
m = strlen(b);
for(i = ; i < n; i++)
for(j = ; j < m; j++)
if(a[i] == b[j]) f[i][j] = max(f[i - ][j - ] + , max(f[i - ][j], f[i][j - ]));
else f[i][j] = max(f[i - ][j], f[i][j - ]);
printf("%d", f[n - ][m - ]);
return ;
}

最新文章

  1. React的使用与JSX的转换
  2. MyBatis的mapper
  3. 网上搜集了点资料,学web的人互相分享共同进步吧(php编码的好习惯必须养成)
  4. 在CentOS 6.6下安装与配置mysql
  5. python学习-day14:集合,函数,格式化
  6. 保护企业的Word文档
  7. linux文件夹操作(及模糊搜索)
  8. 第七篇、CSS3新增属性
  9. C++中的explicitkeyword
  10. Example013操作样式
  11. http请求参数中包含特殊字符的严重后果,比如:#
  12. Java 计算年龄
  13. IE中iframe标签显示在DIV之上的问题解决方案
  14. SVG矢量图学习实例
  15. 数据结构c++实现代码-链表
  16. 使用git pull提示refusing to merge unrelated histories
  17. tp3.2sql改变时间格式
  18. Redis学习系列六ZSet(有序列表)及Redis数据结构的过期
  19. JS模块化写法(转)
  20. 025-du命令查看文件大小

热门文章

  1. 牛客小白月赛5-D-阶乘(求n内每个数的阶乘相乘后尾数为0的个数)
  2. windows deintall 12c client
  3. 174 Dungeon Game 地下城游戏
  4. [转]mysql日志详细解析
  5. 使用 Suricata 进行入侵监控(一个简单小例子访问百度)
  6. sdut2784&amp;cf 126b Good Luck!(next数组)
  7. angular.module 参数的意思
  8. MYSQL5.7 忘记ROOT密码/初始化ROOT密码
  9. 掌握Spark机器学习库-01
  10. 使用Jenkins进行android项目的自动构建(1)