LCS-迭代

原创 2018年04月15日 13:00:02
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
string a, b;
int p[100][100];
int LCS1(int n, int m){
    //p[100][100] = { 0 };
    memset(p, 0, 100);
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
    {
        if (a[i-1] == b[j-1])
            p[i][j] = p[i - 1][j - 1] + 1;
        else p[i][j] = max(p[i - 1][j], p[i][j - 1]);
    }
    return p[n][m];
}
void LCS(int n, int m){
    char c[100];
    int k = 0;
    //p[100][100] = { 0 };
    memset(p, 0, 100);
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
    {
        if (a[i - 1] == b[j - 1])
            p[i][j] = p[i - 1][j - 1] + 1;
        else p[i][j] = max(p[i - 1][j], p[i][j - 1]);
    }
    for (int i = 1; i <= n; i++)
    for (int j = 1; j <= m; j++)
    {
        if (p[i][j] == p[i - 1][j] + 1 && p[i][j] == p[i][j - 1] + 1)
        {
            c[k++] = a[i - 1]; break;
        }
    }
    c[k] = '\0';
    cout << c << endl;
}
int main(){
    cin >> a >> b;
    cout << LCS1(a.length(), b.length()) << endl;//数组从0开始
    LCS(a.length(), b.length());
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36813793/article/details/79948419

LCS-递归

#include &amp;lt;iostream&amp;gt; #include &amp;lt;algorithm&amp;gt; #include &amp;lt;string&amp;gt;...
  • qq_36813793
  • qq_36813793
  • 2018-04-14 21:53:01
  • 10

LCS-基础

最长公共子序列和最长公共连续子串:           最长公共连续子串(Longest CommonSubstring) 和最长公共子序列(LongestCommon Subsequence, LC...
  • shouwang_tomorrow
  • shouwang_tomorrow
  • 2015-08-10 13:14:09
  • 255

LCS-最长公共子序列

最长公共子串(Longest Common Subsequence,LCS),子序列和子串的区别:子串是连续的一段。 蛮力法(对s的每一个子序列,检查是否为t的子序列,s有2^m个子序列,t有2^n...
  • xiaerwoailuo
  • xiaerwoailuo
  • 2017-03-31 16:34:32
  • 369

(动态规划)LCS-最长公共子序列

题目描述:给定两个字符串s1s2...sn和t1t2...tn。求出这两个字符串最长的公共子序列的长度。字符串s1s2...sn的子序列可表示为s(1)s(2)...s(n)的序列。 限制条件:  ...
  • qq_35312027
  • qq_35312027
  • 2016-09-04 09:10:00
  • 81

bzoj 4990(LCS->LIS)

题意:上下有两个长度为n、位置对应的序列A、B,其中数的范围均为1~n。若abs(A[i]−B[j])...
  • qq_29556211
  • qq_29556211
  • 2017-11-03 20:07:47
  • 53

算法之lcs-最长公共字串;

动态规划公式: l[i,j]= 0 i=0或者j=0;           l[i-1][j-1]  i>0;j>0 xi=ji;           max{c[i][j-1],c[i-1][...
  • Zhaozhao531322
  • Zhaozhao531322
  • 2013-11-06 15:58:13
  • 460

迭代式迭代式

  • 2008年05月11日 15:18
  • 760KB
  • 下载

增强学习(二)——策略迭代与值迭代

本篇博客对“有模型学习”的两种方法进行介绍,分别是策略迭代和值迭代。 我们之前已经说到了MDP可以表示成一个元组(X, A, Psa, R),我们对最优策略的求解方法自然也就与这个元组密切相关:如果该...
  • BertDai
  • BertDai
  • 2017-08-30 14:34:52
  • 2616

策略迭代与值迭代的区别

策略迭代与值迭代都属于强化学习里面策略求解中的动态规划方法。其区别是什么呢? 首先看一张图片: 首先看策略迭代: 1.initialization 初始化所有状态的v(s)...
  • panglinzhuo
  • panglinzhuo
  • 2017-08-31 20:35:46
  • 3085

谈谈常见的迭代优化方法

如果学习机器学习算法,你会发现,其实机器学习的过程大概就是定义一个模型的目标函数,然后通过优化算法从数据中求取J(θ)取得极值时对应模型参数θ的过程,而学习到的参数就对应于机器学习到的知识。不管学习到...
  • aws3217150
  • aws3217150
  • 2016-02-02 09:54:22
  • 4568
收藏助手
不良信息举报
您举报文章:LCS-迭代
举报原因:
原因补充:

(最多只允许输入30个字)