P2543 [AHOI2004]奇怪的字符串
题目描述

输入输出格式
输入格式:
输入文件中包含两个字符串X和Y。当中两字符串非0即1。序列长度均小于9999。
输出格式:
X和Y的最长公共子序列长度。
输入输出样例
01011 010010101111111111
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]奇怪的字符串的更多相关文章
- 洛谷—— P2543 [AHOI2004]奇怪的字符串
P2543 [AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度 ...
- [LUOGU] P2543 [AHOI2004]奇怪的字符串
LCS //Writer:GhostCai && His Yellow Duck #include<iostream> #include<cstring> #d ...
- 洛谷 P2543 [AHOI2004]奇怪的字符串
题目传送门 解题思路: 本题朴素求最长公共子序列即可,但是空间不够,怎么办呢? 空间不够,滚动数组来救 AC代码: #include<iostream> #include<cstdi ...
- [AHOI2004]奇怪的字符串
[AHOI2004]奇怪的字符串 题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出 ...
- 洛谷 2543 [AHOI2004]奇怪的字符串
题目描述 输入输出格式 输入格式: 输入文件中包含两个字符串X和Y.当中两字符串非0即1.序列长度均小于9999. 输出格式: X和Y的最长公共子序列长度. 输入输出样例 输入样例#1: 010101 ...
- Luogu2543[AHOI2004]奇怪的字符串 (动态规划 LCS)
04年的省选这么water吗,开个滚动数组算了 #include <iostream> #include <cstdio> #include <cstring> # ...
- 洛谷 P1852 奇怪的字符串
P1852 奇怪的字符串 题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 0 ...
- 洛谷P1852 奇怪的字符串
题目描述 输入两个01串,输出它们的最长公共子序列的长度 输入输出格式 输入格式: 一行,两个01串 输出格式: 最长公共子序列的长度 输入输出样例 输入样例#1: 复制 01010101010 00 ...
- 关于python字符串连接的操作
python字符串连接的N种方式 注:本文转自http://www.cnblogs.com/dream397/p/3925436.html 这是一篇不错的文章 故转 python中有很多字符串连接方式 ...
随机推荐
- mdk编译时的内存分析
内存四区(代码区,全局区,栈区,堆区) Code:即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区. RO-data:Read Only data,即只读数据域,它指程序中用到的只读数 ...
- luogu P4887 莫队二次离线
珂朵莉给了你一个序列$a$,每次查询给一个区间$[l,r]$ 查询$l≤i<j≤r$,且$ai⊕aj$的二进制表示下有$k$个$1$的二元组$(i,j)$的个数.$⊕$是指按位异或. 直接暴力莫 ...
- 获取ApplicationContext进而获取Ioc实例方法
在正常情况下 spring管理的类可直接调用Ioc容器中的实例,但在一些特殊情况下(例如拦截器中获取dao实例),Bean需要实现某个功能,但该功能必须借助于Spring容器才能实现,此时就必须让该B ...
- VS 2015 .net UI界面报错总结
一.提示錯誤 解決方法: 右击解决方案点击properties Window Ctrl+W ,P 将Mnaged Pipeline Mode 从Integrated更改为Classic 二.提示錯誤 ...
- C# async 和 await 理解
C# async 和 await 理解 先假设如下场景: 主函数 Main,循环等待用户输入: 计算函数 Cal,耗时计算大量数据: class Test { static int Main(stri ...
- Lambda 表达式动态拼接.
背景: 项目使用EF 查询时需要手动判断条件写.觉得太麻烦就Google 如何动态生成Linq.最后找到了 System.Linq.Dynamic.Core. 这个东西. Scott Guthrie ...
- javascript -- 时间转换
function numFormat(num){ //时间处理 return ('00' + num).substr(-2); #处理 日期前面有0的情况}function timeFormat ...
- Vue-filter指令全局过滤和稀有过滤
简单介绍一下过滤器,顾名思义,过滤就是一个数据经过了这个过滤之后出来另一样东西,可以是从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具.例如,从['abc','abd','ad ...
- git 添加码云远程仓库和上传到码云的命令
添加远程仓库 git remote add Zk 仓库地址.git 查看远程仓库 git remote -v 上传远程仓库 git push Zk master 删除远程仓库Zkgit remot ...
- 脚本shell
vim删除以#,空格开头的行 1,删除以#号开头的行: :g/^#/d :%s/^#.*\n 2,删除以空格开头的行: :g/^\s/d “\s代表空格” :%s/^ ...