NYOJ 36 LCS 最长公共子序列

简介: 最长公共子序列 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。 tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。

最长公共子序列

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 3
描述
咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。
tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。
输入
第一行给出一个整数N(0
接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.
输出
每组测试数据输出一个整数,表示最长公共子序列长度。每组结果占一行。
样例输入
2 asdf adfsd 123abc abc123abc
样例输出
3 6


这个题目就是裸的LCS,

问题的递归式写成:


时间复杂度为O(n*n)recursive formula

但是注意代码实现中下表要做适当修改


代码

#include <stdio.h>
#include <iostream>
#include <string.h>
const int MAXN = 1000 + 5;
using namespace std;
int main(){
    int cas;
    scanf("%d", &cas);
    while(cas--){
        char s[MAXN], t[MAXN];
        scanf("%s%s", s, t);
        int i, j, dp[MAXN][MAXN], len1 = strlen(s), len2 = strlen(t);
        for(i=0; i<len1; i++){
            for(j=0; j<len2; j++){
                if(s[i]==t[j]) dp[i+1][j+1] = dp[i][j] + 1;
                else dp[i+1][j+1] = max(dp[i][j+1], dp[i+1][j]);
            }
        }
        printf("%d\n", dp[len1][len2]);
    }
    return 0;
}



目录
相关文章
|
人工智能 数据可视化 开发工具
|
XML 缓存 Java
一文讲透程序编排的核心方式:从表达式语言到并行化实践
高德的poi数据来源多种多样,处理流程也多种多样,但因流程相对固定,因此使用了流程化配置简化开发,使用表达式语言保证灵活性。为了加深对平台的理解,并帮助大家对编排有一定的了解,本文会以影响范围的视角去总结当前编排的方案。
553 13
一文讲透程序编排的核心方式:从表达式语言到并行化实践
|
人工智能 数据可视化 数据挖掘
工业零件不良率、残次率的智能数据分析和数字化管理
在传统工业领域,我们通过引入DataV-Note平台,成功实现了企业智能数据分析与数字化管理的初步目标。这一平台不仅显著提升了数据处理的效率和准确性,还为我们的日常运营提供了更加科学、直观的决策支持。然而,这只是智能化转型的第一步。展望未来,我们期望能够进一步深化技术应用,推动企业管理向更高层次的智能化方向迈进。通过持续优化数据分析能力、完善数字化管理体系,我们致力于将企业的运营模式从传统的经验驱动转变为数据驱动,从而全面提升管理效能和市场竞争力,为企业创造更大的长期价值
766 129
|
存储 监控 固态存储
硬盘对碎片整理的需求
【10月更文挑战第1天】硬盘对碎片整理的需求
558 4
|
域名解析 缓存 网络协议
TCP传输层详解(计算机网络复习)
本文详细解释了TCP/IP协议族的分层模型、各层的功能、TCP报文的格式以及TCP连接建立的三次握手和断开的四次挥手过程。
2020 2
TCP传输层详解(计算机网络复习)
ThinkPHP 通用的API格式封装
本文介绍了在ThinkPHP框架中如何统一封装API返回格式的方法,包括创建状态码枚举类、编写统一格式化函数以及在BaseController和Error控制器中重写`__call`方法来处理不存在的方法或控制器调用,以实现统一的错误处理和返回格式。
ThinkPHP 通用的API格式封装
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
音乐播放 pygame mp3play 和获取音乐信息的 库from mutagen.mp3 import MP3
|
存储 SQL 分布式计算
Hive 工作原理详解
什么是Hive?        Hive是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。
5318 0
|
SQL 存储 缓存
hive metastore 3.0介绍
我们说到Hive 3.0.0版本开始,其单独提供了standalone metastore服务以作为像presto等处理引擎的元数据管理中心。
|
存储 负载均衡 架构师
Nginx极简入门(七)Nginx的日志管理及配置
前面讲了如何配置Nginx虚拟主机和Nginx负载均衡。我们知道日志对于Nginx非常重要。今天要说的是如何配置Nginx的日志。
Nginx极简入门(七)Nginx的日志管理及配置

热门文章

最新文章