news 2026/5/22 16:32:44

PAT 1045 Favorite Color Stripe

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 23:16:28

政府公文检查整改报告有什么作用和意义

政府公文检查整改报告不仅仅是一份单纯的“纠错清单”&#xff0c;它是行政机关自我净化、自我完善的重要载体。它对于维护政令畅通、保障信息安全、提升政府公信力具有深远的政治意义和管理价值。以下是该报告在四个核心维度的作用和意义&#xff0c;以及如何利用智能化工具提…

作者头像 李华
网站建设 2026/5/21 14:09:27

找工作邪修大法:刚帮学员定制完JavaAI应用开发智能体,这份实战提示词分享给需要的朋友

今天刚结束一场内部学员会议&#xff0c;聊到AI提效这块时有点无奈——发现有位学员迟迟没搞定属于自己的智能体&#xff0c;核心还是没吃透内部资料里的核心逻辑。看着他着急推进项目又找不到突破口的样子&#xff0c;我当场结合他的简历背景&#xff0c;定制了一款针对性极强…

作者头像 李华
网站建设 2026/5/22 9:29:12

使用 Java 集合类中的 LinkedList 模拟栈以此判断字符串是否是回文

一、目的1. 掌握栈后进先出的核心特性&#xff0c;理解利用栈判断回文字符串的原理&#xff1b;2. 掌握Java集合中 LinkedList 的使用&#xff0c;理解其模拟栈的两种实现方式&#xff1b;二、实验步骤与常见问题及解决过程1.解释使用栈判断回文的原理1.1回文的定义&#xff1a…

作者头像 李华
网站建设 2026/5/21 15:33:53

基于SpringBoot+Vue的MVC模式红色革命文物征集管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 红色革命文物作为中华民族宝贵的历史文化遗产&#xff0c;承载着革命先辈的光辉事迹和伟大精神&#xff0c;具有重要的历史价值和现实意义。随着信息化时代的快速发展&#xff0c;传统的文物征集管理方式已难以满足当前高效、精准、便捷的需求。建立一套科学、规范的红色革…

作者头像 李华
网站建设 2026/5/18 15:50:02

【2025最新】基于SpringBoot+Vue的Spring boot社区医院管理系统管理系统源码+MyBatis+MySQL

摘要 随着信息技术的快速发展&#xff0c;医疗行业的信息化管理已成为提升服务效率和患者体验的重要手段。社区医院作为基层医疗服务的重要组成部分&#xff0c;其管理系统的智能化升级显得尤为迫切。传统的社区医院管理方式依赖人工操作&#xff0c;存在效率低、数据易丢失、信…

作者头像 李华