http://blog.csdn.net/a_eagle/article/details/7213236

公共序列可以用一个二维数组dp[i][j]保存每个点时的最大数字,本质就是一个双向比较。

dp[i][j] = dp[i-1][j-1]+1;(a[i]==b[j])

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

处理字符串时可以用sf("%s",a+1)来将字符串从1开始保存,这时strlen()也要用a+1

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
using namespace std;#define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define debug printf("!\n")
#define INF 10000
#define MAX(a,b) a>b?a:b
#define blank pf("\n")
#define LL long longint n,m,V;
int dp[1010][1010],map[1010][1010];char a[1010],b[1010];int main()
{int i,j,t;while(~sf("%s%s",a+1,b+1)){mem(dp,0);mem(map,0);n = strlen(a+1);m = strlen(b+1);for(i=1;i<=n;i++){for(j=1;j<=m;j++){if(a[i]==b[j]){dp[i][j] = dp[i-1][j-1]+1;}else{dp[i][j] = max(dp[i-1][j],dp[i][j-1]);}}}pf("%d\n",dp[n][m]);}
}

转载于:https://www.cnblogs.com/qlky/p/5155496.html

hdu 1159(DP+字符串最长公共序列)相关推荐

  1. POJ 3080 Blue Jeans (多个字符串的最长公共序列,暴力比较)

    题意:给出m个字符串,找出其中的最长公共子序列,如果相同长度的有多个,输出按字母排序中的第一个. 思路:数据小,因此枚举第一个字符串的所有子字符串s,再一个个比较,是否为其它字符串的字串.判断是否为字 ...

  2. 字符串最长公共子序列python_求解两个字符串的最长公共子序列

    一,问题描述 给定两个字符串,求解这两个字符串的最长公共子序列(Longest Common Sequence).比如字符串1:BDCABA:字符串2:ABCBDAB 则这两个字符串的最长公共子序列长 ...

  3. 数据结构 - 字符串 - 最长公共子序列 + 最长公共子字符串 - 动态规划

    最长公共子序列 /*** 最长公共子序列* 参考链接:http://blog.csdn.net/biangren/article/details/8038605* Created by 18710 o ...

  4. 求两字符串最长公共连续子串---C++编程

    题目:有两个字符串(可能包含空格),找出其中最长的公共连续子串,并输出其长度.  输入描述:输入为两行字符串(可能包含空格),长度均小于等于50. 输出描述:  输出为一个整数,表示最长公共连续子串的 ...

  5. HDU 1243 反恐训练营(最长公共序列)

    反恐训练营 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. HDU 1513 Palindrome(最长公共子序列)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 解题报告:给定一个长度为n的字符串,在这个字符串中插入最少的字符使得这个字符串成为回文串,求这个 ...

  7. nyoj 36 最长公共子序列 dp问题最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共

    最长公共子序列 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称 ...

  8. c语言动态规划公共字符串,最长公共子串 C语言 动态规划

    给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列. 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何 ...

  9. POJ 1458 Common Subsequence DP LCS 最长公共子序列

    最长公共子序列,照抄<算法设计与分析导论>P138-140 设输入的两个字符串分别为a1,a2,```,am(串a) b1,b2,````,bn(串b) 设d(i,j)为字符串a1,a2, ...

最新文章

  1. 基于Python和OpenCV的目标跟踪学习教程 Object Tracking using Python and OpenCV
  2. 越阳刚的男人越容易生女孩
  3. 2008 R2 辅域安装和卸载(加域、退域及组策略的测试)
  4. 脑细胞膜等效神经网路
  5. 建站需要mysql_你还在对建站数据不重视吗-Navicat for MySQL赶快上手使用吧
  6. do{...}while(0) 的意义和用法
  7. 高阶函数 实现sum(2)(3) 柯里化
  8. c++语言中for循环语句,C++ 循环
  9. zlib的安装与使用
  10. python节点之间的继承关系_python--继承关系
  11. Mac下mysql登陆问题
  12. 正则表达式验证输入用户名格式是否正确
  13. 两总体均值之差的推断:匹配样本
  14. 怎么提高win服务器性能,电脑升级win10后,必做的40项性能优化,值得收藏
  15. php开发天气可视化,R语言天气可视化应用 | 粉丝日志
  16. MATLAB | sRGB图像的灰度转换算法
  17. alios下载_AliOS Studio(阿里编程工具)下载_AliOS Studio(阿里编程工具)官方下载-太平洋下载中心...
  18. Delphi编程中流的使用
  19. 深度学习21天实战caffe学习笔记《3 :准备Caffe环境》
  20. 人工智能技术岗位面试要注意什么?

热门文章

  1. 关于Nginx的一些优化(突破十万并发)。
  2. git统计每个人的代码行数_程序员实用工具,推荐一款代码统计神器GitStats
  3. 原始套接字与抓包过滤规则setsockopt(fd, SOL_SOCKET, SO_ATTACH_FILTER, ...)
  4. 中级工程师考试2019——地图制图与地理信息系统
  5. 记一次mysql_query(): xxx is not a valid MySQL-Link resource
  6. Golang解析yaml格式文件
  7. 鼓励玩家自创,大量的UGC能为手游续命吗?
  8. SRP6针对于网游登录服的应用
  9. python os常用方法_python os模块常用方法
  10. pythonjs设置_在节点js中设置env变量并在python脚本中使用