题目描述

输入输出格式

输入格式:

输入文件中包含两个字符串X和Y。当中两字符串非0即1。序列长度均小于9999。

输出格式:

X和Y的最长公共子序列长度。

输入输出样例

输入样例#1: 复制

01010101010 00000011111
输出样例#1: 复制

6
输入样例#2: 复制

01011 010010101111111111
输出样例#2: 复制

5

/*DP
我们可以知道,在每一个位置有三种状态,i表示a串下标,j表示b串下标。
1、a[i]==b[i] --> dp[i][j]=dp[i-1][j-1]+1
2、a[i]!=b[j]--> dp[i][j]=max(dp[i][j-1],dp[i-1][j]
所以判断每个位置的状态,DP求解就可以了。
*/
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; string a,b;
int dp[][]; int main()
{
cin>>a>>b;
int la=a.length(),lb=b.length();
for(int i=;i<=la;i++) //从1开始,避免数组下标变负
{
for(int j=;j<=lb;j++)
{
if(a[i-]==b[j-]) dp[i][j]=dp[i-][j-]+;
else dp[i][j]=max(dp[i][j-],dp[i-][j]);
}
}
printf("%d",dp[la][lb]);
return ;
}

P2543 [AHOI2004]奇怪的字符串的更多相关文章

  1. 洛谷—— P2543 [AHOI2004]奇怪的字符串

    P2543 [AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度 ...

  2. [LUOGU] P2543 [AHOI2004]奇怪的字符串

    LCS //Writer:GhostCai && His Yellow Duck #include<iostream> #include<cstring> #d ...

  3. 洛谷 P2543 [AHOI2004]奇怪的字符串

    题目传送门 解题思路: 本题朴素求最长公共子序列即可,但是空间不够,怎么办呢? 空间不够,滚动数组来救 AC代码: #include<iostream> #include<cstdi ...

  4. [AHOI2004]奇怪的字符串

    [AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出 ...

  5. 洛谷 2543 [AHOI2004]奇怪的字符串

    题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出样例 输入样例#1: 010101 ...

  6. Luogu2543[AHOI2004]奇怪的字符串 (动态规划 LCS)

    04年的省选这么water吗,开个滚动数组算了 #include <iostream> #include <cstdio> #include <cstring> # ...

  7. 洛谷 P1852 奇怪的字符串

    P1852 奇怪的字符串 题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 0 ...

  8. 洛谷P1852 奇怪的字符串

    题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 01010101010 00 ...

  9. 关于python字符串连接的操作

    python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...

随机推荐

  1. PB笔记之数据窗口可编辑的条件

    1.列的tab order为0,列不能获得焦点2.dw_control.object.datawindow.readonly="yes"3.DW.Object.<Column ...

  2. Map、FlatMap 和 Reduce

    Map 作用是生成一个新数组,遍历原数组,将每个元素拿出来做一些变换然后 append 到新的数组中. [1, 2, 3].map((v) => v + 1) // -> [2, 3, 4 ...

  3. 一行代码实现Vue微信支付,无需引用wexin-sdk库,前后端分离HTML微信支付,无需引用任何库

    前后端分离项目实现微信支付的流程: 1:用户点击支付 2:请求服务端获取支付参数 3:客户端通过JS调起微信支付(微信打开的网页) * 本文主要解决的是第3步,视为前两步已经完成,能正确拿到支付参数, ...

  4. 禁止服务向 eureka 上注册配置文件

    ### 禁止向注册中心注册服务eureka.client.register-with-eureka=false

  5. AQS独占式同步队列入队与出队

    入队 Node AQS同步队列和等待队列共用同一种节点结构Node,与同步队列相关的属性如下. prev 前驱结点 next 后继节点 thread 入队的线程 入队节点的状态 INITIAl 0 初 ...

  6. 在论坛中出现的比较难的sql问题:35(时间间隔计算问题)

    原文:在论坛中出现的比较难的sql问题:35(时间间隔计算问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.

  7. elementUI表单验证

    elementUI表单验证非常方便,我们直奔主题: <template> <el-form ref="orderForm" :model="orderF ...

  8. Redis其他数据结构

    用户日活月活怎么统计 - Redis HyperLogLog 详解 HyperLogLog 提出问题 我们先思考一个常见的业务问题:如果你负责开发维护一个大型的网站,有一天老板找产品经理要网站每个网页 ...

  9. VSCode Git 没有活动的源代码控制提供程序

    主要原因:我以前安装的Git只允许在Git-Bash中运行,需要重新安装Git,选择允许三方软件的那个选项,然后安装Git插件,修改git.path即可. 以下是解决过程中的尝试,记录如下,实际上只需 ...

  10. kali 系统膨胀后如何处理

    1.一般使用的kali 安装都是将系统文件全部放在一个总分区中,应用程序会产生临时文件,另外在安装软件的时候会出现 系统框架的不同,但是kali并不会检测该问题,直接当依赖的框架下载,可以是使用命令 ...