首页 > 其他分享 >POJ-1458 Common Subsequence

POJ-1458 Common Subsequence

时间:2022-12-22 00:55:30浏览次数:40  
标签:int ++ Subsequence POJ 字符串 include 1458 size

POJ-1458 Common Subsequence

题意:

首先对最长子序列有个定义:如果一个字符串a可以由另一个字符串b删去某些元素得到,那么说明a就是b的子序列字符串
现在有两个字符串,请问最长公共子序列是多长?

思路:

状态定义?

需要知道当前两个字符串比较到哪里了 \(\Rightarrow\) 定义 \(f[i][j]\) 字符串 \(a\) 遍历到第 \(i\) 个点,字符串 \(b\) 遍历到第 \(j\) 个点时,该状态的最长公共子序列是多长。

实现:

#include <cstdio>
#include <algorithm>
#include <string>
#include <iostream>
using namespace std;
const int N = 1e3 + 5;
int f[N][N];
int main()
{
    string a, b;
    while (cin >> a >> b)
    {
        a = '0' + a, b = '0' + b;
        for (int i = 1; i < a.size(); i++)
            for (int j = 1; j < b.size(); j++)
                f[i][j] = 0;

        for (int i = 1; i < a.size(); i++)
            for (int j = 1; j < b.size(); j++)
            {
                if (a[i] == b[j])
                    f[i][j] = f[i - 1][j - 1] + 1;
                else
                    f[i][j] = max(f[i - 1][j], f[i][j - 1]);
            }

        printf("%d\n", f[a.size() - 1][b.size() - 1]);
    }
    return 0;
}

标签:int,++,Subsequence,POJ,字符串,include,1458,size
From: https://www.cnblogs.com/zxr000/p/16997504.html

相关文章

  • [算法][解析几何]覆盖最多点固定半径圆问题 POJ1981 圆的扫描线 详细解法
    引题: 覆盖最多点固定半径圆问题改编自POJ1981CircleandPoint 背景:在二维平面中给定n个点,求半径为r的圆最多可以覆盖多少个点(1<=n<=300,精度eps=0.0001)输入......
  • 构建一个应用程序,用于在基于内存的数据库中存储 POJO(普通旧 Java 对象)
    本指南将引导您完成构建应用程序的过程,该应用程序使用SpringDataJPA在关系数据库中存储和检索数据。您将构建什么您将构建一个应用程序,用于在基于内存的数据库中存储PO......
  • POJ 2249 : Remmarguts' Date
    #include<iostream>#include<queue>#include<vector>usingnamespacestd;constintN=100000*2+1;#definempmake_pair#definepiipair<int,int>......
  • AtCoder Regular Contest 150 F Constant Sum Subsequence
    AtCoder传送门洛谷传送门定义\(\mathrm{nxt}(i,x)\)为最小的\(j\)满足\(a_j=x\)且\(j>i\),\(\mathrm{pre}(i,x)\)为最大的\(j\)满足\(a_j=x\)且\(j<......
  • POJ 2249 Remmarguts' Date
    #include<iostream>#include<vector>#include<queue>#include<cstring>#include<string>usingnamespacestd;typedeflonglongll;constllN=1e5+1111;......
  • [POJ1734]Sightseeing 观光之旅 题解
    无向图的最小环问题,前置芝士:\(\text{Floyd}\)传送门题目描述给定一张无向图,求图中一个至少包含\(3\)个点的环,环上的节点不重复,并且环上的边的长度之和最小。你需要......
  • CF1458C 题解
    题意传送门\(T\)组测试数据,每次给一个\(n\timesn\)的矩阵,每行每列都是个\(1\ton\)的排列。有\(m\)次操作,如果是UDLR就是要把整个矩阵每行/每列往一个方向循环......
  • poj3420 Quad Tiling--状压dp+矩阵快速幂
    原题链接:​​http://poj.org/problem?id=3420​​题意:一个4*n的格子,一个1*2的填充,求填充方式。分析:n最大是10^9,比较大,用矩阵快速幂优化速度。#define_CRT_SECURE_NO_DEPREC......
  • poj 2663 Tri Tiling--状压dp
    原题链接:​​http://poj.org/problem?id=2663​​题意:一个3*n的表格,用一个1*2的方块填充,在填满的情况下,一共多少种填充方式。#define_CRT_SECURE_NO_DEPRECATE#include<ios......
  • poj2411 Mondriaan's Dream--状压dp
    原题链接:​​http://poj.org/problem?id=2411​​.题意:一个n*m的方格,给定一个1*2的方块,要求用这个方块填充方格,填满,一共多少种填充方法。分析:对于一行的某一列来说,该列有三......