当前位置: 首页 > news >正文

PAT 1045 Favorite Color Stripe



这一题看题目就很容易想到动态规划。
题目大意是说给出一个序列,在给出的一个L长的序列中找到按照给出的序列的元素顺序排列的子序列的最长的长度。
如何找呢,
首先我们需要用哈希表来把给出的序列映射成 0-M-1,这样我们在新的L长的序列中再碰到给出的序列中的元素,可以确定它在给出序列中的相对位置是多少 (0到M-1中的其中一个),然后我们可以看在这个元素之前的元素能否和当前元素连接,求单独以这个元素的长度和与之前元素连接的长度的最大值。
最后,我们分别求以某一个元素为结尾所能构成的最长的子序列的长度。
完整代码如下

#include<bits/stdc++.h>#include<iostream>usingnamespacestd;vector<int>t;vector<int>sq;inth[205];intdp[205];intmain(){intN;cin>>N;intM;cin>>M;memset(h,-1,sizeof(h));for(inti=0;i<M;i++){intx;cin>>x;t.push_back(x);h[x]=i;}intL;cin>>L;for(inti=0;i<L;i++){intx;cin>>x;sq.push_back(x);}for(inti=0;i<L;i++){if(h[sq[i]]==-1){continue;}intx=h[sq[i]];//表示这个点在哈希表中的位置intpremaxx=0;for(intj=0;j<=x;j++){premaxx=max(premaxx,dp[j]);}dp[x]=max(premaxx+1,dp[x]);}intans=0;for(inti=0;i<M;i++){ans=max(ans,dp[i]);}cout<<ans<<endl;return0;}

注意:与当前元素前面的元素作连接时包括当前元素的本身

for(intj=0;j<=x;j++){premaxx=max(premaxx,dp[j]);}

时间复杂度O(n^2)

http://www.cnnetsun.cn/news/160991.html

相关文章:

  • 手把手教你用Dify接入本地大模型:AI知识库实战教程!
  • Scrapy框架实战教程:从入门到精通的专业爬虫开发指南(包含python环境配置)
  • 联想摩托罗拉与鸿日达设立3D打印联合实验室,开展通信设备轻量化及结构设计
  • 技术解读“创世纪计划”:架构、协作与开源挑战
  • ETSC:挖掘潜力,减少与工作相关的道路交通伤亡事故(英) 2025
  • Langchain-Chatchat问答系统灰度期间服务可用性保障
  • Activiti7工作流(八)流程变量
  • Langchain-Chatchat能否支持文档标签分类管理?
  • Langchain-Chatchat能否支持文档访问统计?
  • Langchain-Chatchat结合Traefik实现动态路由
  • 【程序源代码】成人用品商城系统源码微信小程序(含源码)
  • mybatis sql where a=#{a},如果a为null,会返回什么
  • Langchain-Chatchat能否实现问答结果HTML导出?
  • 仓储机器人不是拼技术,是拼融资,谁有钱谁就能活下来!
  • 学术新维度解锁:书匠策AI——本科硕士论文写作的隐形智囊
  • 学术新引擎:书匠策AI解锁本科硕士论文写作全场景智能辅助
  • 学术探索新次元:书匠策AI——本科硕士论文的智慧领航者
  • 当“写论文”不再令人彻夜难眠:一位普通本科生如何用AI工具高效完成毕业设计全流程
  • Langchain-Chatchat能否实现问答结果复制链接?
  • AI赋能前端:从核心概念到工程实践的全景学习指南
  • Langchain-Chatchat能否实现问答结果Markdown导出?
  • 别买那些防静电神器了,真正的克星只需要一面墙。。。
  • AI产品经理面试题:大模型微调技术(如LoRA)的核心原理与落地价值
  • 如何赢得一场价值 10,000 美元的写作比赛
  • 在 Windows 上 基于“适用于 Linux 的 Windows 子系统(WSL)”开发linux项目
  • Langchain-Chatchat能否支持API网关统一接入?
  • FaceFusion能否用于科学可视化?大脑活动映射面部
  • Langchain-Chatchat能否实现文档变更自动检测同步?
  • AI 智能体企业级自动化评估实用指南
  • 产后恢复难题多?蓝丝带专业支持,助万千妈妈重拾美丽自信