acwing272. 最长公共上升子序列

简介: acwing272. 最长公共上升子序列

活动 - AcWing

#include<iostream>
#include<algorithm>
#include<cstring>
 
using namespace std ;
const int N = 3010 ;
int f[N][N] ;//前i个数和前j个数并且以b[j] 结尾的最长公告上升子序列 
int n  ;
int a[N] ;
int b[N] ;
int main(){
  cin >> n ;
  for(int i = 1 ; i <= n ;i ++) cin >> a[i] ;
  for(int i = 1 ; i <= n; i ++) cin >> b[i] ;
  for(int i = 1 ; i <= n ; i ++){
    int S = 0 ;
    for(int j = 1 ; j <= n ;j ++){
      f[i][j] = f[i-1][j] ;
      if(b[j-1] < a[i]) S = max(S , f[i-1][j-1] + 1) ;//因为我们更新的话只有a[i] == b[j] 的情况也就是说我们的a[i]是一直不变的,我们只需要判断新加入的b[j-1]能不能成为之前的最长公共上升子序列
 
      if(a[i]==b[j]) f[i][j] = max(S,f[i][j]) ;
      
    }
  }
  int res = 0 ;
  for(int i = 1 ; i <= n ; i ++) res = max(res,f[n][i]) ;
  cout << res << endl ;
}
#include<iostream>
#include<cstring>
#include<algorithm>
 
using namespace std ;
const int N = 3010 ;
int f[N][N] ;
int a[N],b[N] ;
int main(){
  int n ;cin >> n ;
  for(int i = 1 ; i <= n ;i ++) cin >> a[i] ;
  for(int i = 1 ; i <= n ;i ++) cin >> b[i] ;
  for(int i = 1 ; i <= n ;i ++){
    int s = 1 ;//s记录的是以a[i]结尾的最长上升子序列的最大长度
    for(int j = 1 ; j <= n ; j ++){
      f[i][j] = f[i-1][j] ;
      if(b[j] == a[i])f[i][j] = max(f[i][j], s);//找到和这层循环的a[i]相等的b[j],就用s取更新他
      if(b[j] < a[i]) s = max(s,f[i][j] + 1) ;
    }
  }
  int res = f[n][1] ;
  for(int i = 1 ; i <= n ;i ++){
    res = max(res,f[n][i]) ;
  }
  cout << res << endl ;
}
相关文章
|
22天前
|
云安全 人工智能 安全
阿里云欧阳欣:AI时代下的安全新范式
2024 云栖大会技术主论坛重磅发布
663 4
阿里云欧阳欣:AI时代下的安全新范式
|
7天前
|
Web App开发 开发框架 前端开发
移动端window.open跳转链接时,iOS没有反应的问题
【10月更文挑战第9天】在移动端使用 `window.open` 跳转链接时,iOS 可能无响应,原因是 iOS 的安全策略和弹出窗口阻止功能。解决方法包括:确保在用户交互后触发 `window.open`,将目标设置为 `_self`,使用锚点链接模拟跳转,或利用专门的移动端框架。需综合考虑这些方案以优化用户体验。
203 61
|
11小时前
|
人工智能
AcWing 271. 杨老师的照相排列
AcWing 271. 杨老师的照相排列
|
11小时前
lanqiao oj 131 生命之树
lanqiao oj 131 生命之树
|
19天前
|
C# Windows
visual studio 2022 社区版 c# 环境搭建及安装使用【图文解析-小白版】
这篇文章提供了Visual Studio 2022社区版C#环境的搭建和安装使用指南,包括下载、安装步骤和创建C#窗体应用程序的详细图文解析。
visual studio 2022 社区版 c# 环境搭建及安装使用【图文解析-小白版】
|
1月前
|
Windows
windows 电脑 连接蓝牙耳机没有麦克风
【8月更文挑战第31天】当Windows电脑连接蓝牙耳机后无法使用麦克风时,可尝试以下步骤解决:检查蓝牙设置,确保耳机正确连接并开启麦克风选项;检查音频设备设置,确认蓝牙耳机为默认播放和录制设备;更新蓝牙和音频驱动;确认耳机与系统的兼容性及正确设置。如问题未解,可重新配对耳机或联系客服。
1233 7
|
1月前
|
弹性计算 运维 监控
如何结合ECS业务故障演练
故障演练是提升系统稳定性的关键手段,通过向系统注入可控故障,验证并增强系统的高可用性,训练应急响应能力,减少实际故障恢复时间(MTTR)。阿里云提供ECS故障注入插件`ecs-fault-{scenename}`或`ACS-ECS-{scenename}`,简化演练过程,提升效果与效率。该插件免费开源,操作便捷,支持多种故障场景模拟,如服务器宕机、CPU利用率高、内存溢出(OOM)等,帮助企业快速验证和优化故障应对策略。
|
19天前
|
虚拟化 Windows
VMwareWorkstationPro16的下载与安装,以及vm账号注册的问题
本文介绍了VMware Workstation Pro 16的下载、安装过程以及VMware账号的注册问题,包括如何检查虚拟化支持是否开启、VMware的下载步骤、注册VM账号时的常见问题以及VMware 16的安装步骤。
VMwareWorkstationPro16的下载与安装,以及vm账号注册的问题
|
5天前
|
人工智能 算法 前端开发
首个 AI 编程认证课程上线!阿里云 AI Clouder 认证:基于通义灵码实现高效 AI 编码
为了帮助企业和开发者更好使用通义灵码,阿里云上线了“AI Clouder 认证课程--基于通义灵码实现高效 AI 编码”。本课程汇聚了后端、前端、算法领域 5 名实战派专家,带你体验 4 大研发场景实践,上手 3 大实操演练,深度掌握智能编码助手通义灵码,实现全栈 AI 编码技能跃升。
|
21天前
|
存储 监控 调度
云迁移中心CMH:助力企业高效上云实践全解析
随着云计算的发展,企业上云已成为创新发展的关键。然而,企业上云面临诸多挑战,如复杂的应用依赖梳理、成本效益分析等。阿里云推出的云迁移中心(CMH)旨在解决这些问题,提供自动化的系统调研、规划、迁移和割接等功能,简化上云过程。CMH通过评估、准备、迁移和割接四个阶段,帮助企业高效完成数字化转型。未来,CMH将继续提升智能化水平,支持更多行业和复杂环境,助力企业轻松上云。