蓝桥杯 最长公共子序列
给定俩个字符串,S1S2.....Sn和T1T2......Tn。求出这俩个字符串中最长的公共子序列的长度。字符串S1S2......Sn的子序列指可以表示Si1Si2.......Sim的序列
/* *最长公共子序列 ,输入俩个序列之后不断检查是否有相同出现 *如果发现字符相同,则在动态记录数组中加 1 *如果数组不相同,则选择记录 a数组减 1最大,或者选择 b数组子序列 减 1最大 * */ #include<stdio.h> #include<string.h> int N,M; int dp[100][100]; char a[100],b[100]; int max(int n,int m){ return n>m?n:m; } void f(){ for(int i=0;i<N;i++) for(int j=0;j<M;j++){ if(a[i]==b[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",dp[N][M]); } int main(){ memset(dp,0,sizeof(dp)); scanf("%d%d",&N,&M); getchar(); for(int i=0;i<N;i++) scanf("%c",&a[i]); getchar(); for(int j=0;j<N;j++){ scanf("%c",&b[j]); } f(); return 0; }/***************************************************/#include<stdio.h> #include<string.h> int N,M; int dp[100][100]; char a[100],b[100]; int max(int n,int m){ return n>m?n:m; } int rec(int i,int j){ if(dp[i][j]>=0) return dp[i][j]; int res=0; if(i==N || j==M) return 0; else if(a[i]==b[j]) res=rec(i+1,j+1)+1; //向后寻找并且 res+1 else res=max(rec(i+1,j),rec(i,j+1)); //背包的核心 ,前面的最大倒推回来之后一定是当前的最大 return dp[i][j]=res; } int main(){ memset(dp,-1,sizeof(dp)); scanf("%d%d",&N,&M); getchar(); scanf("%s",a); getchar(); scanf("%s",b); printf("%d\n",rec(0,0)); return 0; }
转载于:https://www.cnblogs.com/sky-z/p/4411043.html
蓝桥杯 最长公共子序列相关推荐
- 蓝桥杯 ADV-202 算法提高 最长公共子序列
问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列. 输入格式 输入两行,分别包含一个字符串,仅含有小写字母. 输出格式 最长公共子序列的长度. 样例输入 abcdgh aedfhb 样例输 ...
- [Java] 蓝桥杯ADV-202 算法提高 最长公共子序列
问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列. 输入格式 输入两行,分别包含一个字符串,仅含有小写字母. 输出格式 最长公共子序列的长度. 样例输入 abcdgh aedfhb 样例输 ...
- 蓝桥杯 ADV-202算法提高 最长公共子序列(动态规划)
问题描述 给定两个字符串,寻找这两个字串之间的最长公共子序列. 输入格式 输入两行,分别包含一个字符串,仅含有小写字母. 输出格式 最长公共子序列的长度. 样例输入 abcdgh aedfhb 样例输 ...
- 2017蓝桥杯B组:最长公共子序列(动态规划详解(配图))
最大公共子串长度问题就是: 求两个串的所有子串中能够匹配上的最大长度是多少. 比如:"abcdkkk" 和"baabcdadabc", 可以找到的最长的公共子串 ...
- 经典算法题——最长公共子序列
** 解析: ** 此题一共有两个要点: 1.求上述两个最长公共子序列的长度 2.求所有可能出现的最长公共子序列个数,答案可能很大,只要将答案对10^8求余即可 第一个都很好想到,难点在于第二个.下面 ...
- 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...
问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...
- 【动态规划】最长公共子序列与最长公共子串
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...
- POJ 3080 多个串最长公共子序列
求多个串最长公共子序列,字典序最小输出.枚举剪枝+kmp.比较简单,我用find直接查找16ms #include<iostream> #include<string> #in ...
- java实现最长连续子序列_最长公共子序列 ||
问题:在 前一篇文章 最长公共子序列 | 的基础上要求将所有的最长公共子序列打印出来,因为最长公共子序列可能不只一种. 难点:输出一个最长公共子序列并不难,难点在于输出所有的最长公共子序列,我们需要在 ...
最新文章
- 特斯拉致命车祸最新调查结果发布
- 高性能分布式计算与存储系统设计概要(上)(转)
- [Xcode 实际操作]六、媒体与动画-(1)使用图形上下文按一定比例缩放图片
- java build返回空值_将来与Flutter中的FutureBuilder一起返回null
- 50session的销毁会话和超时管理
- 自定义类型详解:结构体(内存对齐、位段) + 枚举 + 联合
- 为什么说 Julia 更优于 Python?
- 【PAT】2020年秋季考试划水准备贴
- lcms质谱仪_液相色谱-质谱联用(lcms)的原理及应用
- 第一篇 -- 《每天读一点经济学常识 》 --于台风
- 开源项目9GAG源码解析与Material改造(三)
- php ppt生成图片不显示,ppt图片在word中不能正常显示,只显示为矩形框的解决方法...
- vr全景技术开启智能化vr酒店宣传新模式
- vue echarts 地图立体 并设置tooltip属性背景图片
- 考研容易考的211大学计算机,考研中比较容易考的211名校,这四个你知道吗?
- 墨者mysql注入_SQL注入实战-MySQL-墨者学院
- 小红书入驻,小红书商家如何入驻,小红书入驻需要的细节
- 下载风云二号卫星总云量数据
- kingpin_parser.go
- 掌握了这 10 款开源安全工具,从此系统稳定可靠乐无忧!
热门文章
- 【2021年度训练联盟热身训练赛第四场】Happy Number(python)
- 【Web安全】XSS简介与XSS测试平台截取用户COOKIE的探索
- 基类成员的public访问权限在派生类中变为_C++ 派生类的构造函数(学习笔记:第7章 06)...
- 如何网络推广教大家怎样通过提高用户粘性来助力排名提升?
- 浅析网站维护优化的必要性!
- 如何让网站建设实际效果比之前更好?
- 商城网站前期功能设置这几项绝不能少!
- 浅析新站SEO和老站优化推广有哪些区别?
- Linux内核链表交换节点,[笔记]Linux内核链表:结点的插入、删除以及链表的遍历...
- 某同学配置了一台计算机,第六章 计算机硬件系统作业答案.doc