最长公共子序列LCA

news/2024/11/24 2:10:48/

最长连续公共子序列

题目链接:3692. 最长连续公共子序列 - AcWing题库

/*解法:定义dp[i+1][j+1]为以a[i]结尾的字符串和b[j]结尾的字符串的最长连续公共子序列那么对于a[i] == b[j]的时候 dp[i+1][j+1] == dp[i][j]+1否则为0 其他就是细枝末节
*/
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int N=1e2+11;
int dp[N][N];
int ans,ansi;
int main()
{string a,b;cin>>a>>b;for(int i=0;i<a.size();i++){for(int j=0;j<b.size();j++){if(a[i]==b[j]){dp[i+1][j+1] = dp[i][j]+1;}if(ans<=dp[i+1][j+1]){ans = dp[i+1][j+1];ansi = i;}}}cout<<ans<<endl;for(int i =ans;i>0;i--){cout<<a[ansi-i+1];}cout<<endl;return 0;
}
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
const int N=1e2+11;
/*内存优化
滚动数组优化 对于dp[i][j]二维定义 每次dp[i+1][j+1]的计算只会引用dp[i][j] 
那么0到i-1行的数据都是不使用的 故定义dp[i+1]在内层循环根据j的变化来代表
a[i]结尾的字符串和b[j]结尾的字符串的最长连续公共子序列
*/
int dp[N];
int ans,ansi;
int main()
{string a,b;cin>>a>>b;for(int i=0;i<a.size();i++){for(int j=b.size()-1;j>=0;j--){// 以dp[i+1][j+1]被压缩之前 只会引用dp[i][0~j]的数据 所以我们计算时候要从大往小算避免数据被提前错误跟新if(a[i]==b[j]){dp[j+1] = dp[j]+1;}else dp[j+1]=0;if(ans<=dp[j+1]){ans = dp[j+1];ansi = j;}}}cout<<ans<<endl;for(int i =ans;i>0;i--){cout<<b[ansi-i+1];}cout<<endl;return 0;
}

http://www.ppmy.cn/news/789772.html

相关文章

关于ios低版本在app store下载软件时由于版本低导致不能下载的解决办法

最近有人提出问题&#xff0c;说IOS7怎么在APP store中下载软件&#xff0c;好多软件都提示需要ios8及以上才可以下载&#xff0c;而App Store里下载又不会提供给你旧版本&#xff0c;难倒ios7就必须升级才能下载吗&#xff1f;对此本人在网上查了好多资料也做了好多测试&#…

苹果微信更新不了最新版本_微信最新版建议更新!还有一个功能彩蛋!

潮阳圈同城&#xff0c;招聘求职/房屋租售 &#x1f448;戳这里&#xff01; “有毒&#xff01;” “微信更新又又又又又来了&#xff01;” 这更新频率也太快了吧... 前段时间 安卓用户更新到最新版本微信 已经可以修改微信号 而苹果用户当时还不可以 粉丝一直追问苹果什么时…

苹果android怎么升级,微信系统大升级,苹果安卓手机如何升级更新为最新版微信8.0?...

原标题&#xff1a;微信系统大升级&#xff0c;苹果安卓手机如何升级更新为最新版微信8.0&#xff1f; 昨天&#xff0c;微信发布了最新版微信8.0。与以往不同的是&#xff0c;作为一款已风靡十年的社交产品&#xff0c;微信此次版本更新带来许多全新玩法和小创意。 目前苹果手…

苹果android怎么升级,微信系统升级!苹果安卓手机如何升级更新为最新版微信8.0?...

昨天&#xff0c;微信发布了最新版微信8.0。与以往不同的是&#xff0c;作为一款已风靡十年的社交产品&#xff0c;微信此次版本更新带来许多全新玩法和小创意。 目前苹果手机用户可以点击“关于微信”进行自动升级&#xff0c;安卓系统暂时还未推送最新安装包。 安卓手机 如何…

苹果微信更新不了最新版本_微信最新版来了,安卓苹果都更新,3大功能非常亮眼...

大家好我是人见人爱花见花开的奶思君。微信又双叒叕更新了&#xff0c;相信各位宝宝都非常的关心&#xff0c;这次ios和安卓的都更新了。到底更新了啥呢&#xff1f;速来围观&#xff01; iOS 7.0.18 正式版 首先来说说iOS 7.0.18 正式版&#xff0c;更新内容里面显示&#xff…

iOS微信8.0.31更新,带来7个功能

近日&#xff0c;iOS微信更新了8.0.31正式版。经过几天的深入体验&#xff0c;我发现了7个新特性。如果你还没有升级&#xff0c;我们就往下看吧。 功能一&#xff1a;优化编辑按钮 微信发图片&#xff0c;发送前可以编辑&#xff0c;底部的编辑按钮变了。新版画笔工具变成了钢…

android 8.0手机无法更新版本,微信8.0更新不了是什么情况?安卓微信更新不了新版本怎么办?...

微信8.0更新不了是什么情况&#xff1f;许多人都已经听说了微信推出了全新的8.0版本更新升级但是自己看了看手机发现还是旧版本而更新不了8.0。现在就让浏览器小编为大家说明&#xff0c;安卓微信更新不了新版本怎么办。 安卓微信8.0更新不了是什么情况?什么时候才可以更新? …

iPhone4s(iOS 6.1.3 越狱) 登录微信(6.2.0.19)

如果手中只有一台iPhone4s(iOS 6.1.3 越狱)&#xff0c;该怎么登录微信&#xff1f; 1.设备&#xff1a;iPhone4s(iOS 6.1.3 越狱) 2需求&#xff1a;登录微信6.2.0 思路&#xff1a; 找一台已经正常登录微信账号的iPhone越狱设备拷贝出wx.dat 复制到iPhone4s(iOS 6.1.3 越…