1045 Favorite Color Stripe(最长不下降子序列)


题意:按照题目给出的颜色序列找出原颜色序列中对应的子序列,给出的颜色序列不需要在子序列中全部出现。
解法:根据给出的序列对相应的颜色赋权值,就可以将颜色序列变成递增的权值序列,同样将原序列中出现的对应颜色变为相应权值,然后再找最长不下降子序列。(动态规划)

#include <iostream>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
const int MAXSIZE = 10010;
const int MAX = 0xffffff;
int N,L,M;
vector<int> vec;
map<int, int> m;
int dp[MAXSIZE];
int main()
{cin >> N>>M;int color,now_weigth;for (int i = 1; i <= M; i++){scanf("%d", &color);m[color] = i;}cin >> L;for (int i = 0; i < L; i++){scanf("%d", &color);if (m.count(color) != 0)vec.push_back(m[color]);}int ans = -1;for (int i = 0; i < vec.size(); i++){//初始化当前位置dp[i] = 1;for (int j = 0; j < i; j++){//如果当前位置的值大于之前某一个值,则当前位置的子序列长度为该位置的子序列长度+1if (vec[i] >= vec[j] && dp[i] < dp[j] + 1)dp[i] = dp[j] + 1;}//记录最大值ans = max(ans, dp[i]);}cout << ans;return 0;
}

1045 Favorite Color Stripe(最长不下降子序列)相关推荐

  1. PAT甲级1045 Favorite Color Stripe (30 分):[C++题解]最佳彩色带、DP、公共子序列变形

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:这是一个公共子序列的问题.但是有点变式,序列a和序列b不是完全等价的,序列a的每个元素可以对应多个相同元素,而且有些元素可以不使用.比 ...

  2. 1045 Favorite Color Stripe(30分)-PAT甲级

    Eva is trying to make her own color stripe(条纹) out of a given one. She would like to keep only her f ...

  3. 1045 Favorite Color Stripe(LIS解法)

    解题思路 本题属于Longest Increasing Sequence最长不下降子序列,但是要注意,LIS当中不会有无效的元素,而本题是有的,所以先要把无效元素过滤掉,才能转化成为LIS问题. 这里 ...

  4. 最长不下降子序列(推广问题)

    最长不下降子序列问题的定义:在一个序列中,找到一个最长的子序列,其中这个序列是非递减的 我们可以把这个非递减推广,其实非递减就是一种顺序,那么我们可以把定义推广到:给出一个顺序序列.目标序列中,在目标 ...

  5. 最大流 ---- 最大不相交路径数 ---- P2766 最长不下降子序列问题(网络流24题)

    题目链接 最多不相交路径 这种问题变化比较多,但都能表示成以下形式: 已知一些路径,每个节点只能属于一条路径,求能选择多少条路径使它们不相交. 主要的方法是拆点,将一个点拆成两个,然后连边,容量表示该 ...

  6. 最长不下降子序列java代码_浅谈最长不下降子序列与最长上升子序列

    唔,最长不下降子序列与最长上升子序列曾是困扰蒟蒻多时的一个问题,应该也有一些人分不清这2个的求法吧. 首先n^2算法肯定是都能分清的,因为不下降和上升的区别是连续的2个能不能相等,只需要在判断的时候判 ...

  7. 【P2766】 最长不下降子序列问题

    题目描述 «问题描述: 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次 ...

  8. 最长不下降子序列的O(n^2)算法和O(nlogn)算法

    转帖 最长不下降子序列的O(n^2)算法和O(nlogn)算法 最长不下降子序列(LIS:Longest Increasing Subsequence) //用句通俗的话说,我讲的很通俗易懂~~ 问题 ...

  9. 洛谷2766:[网络流24题]最长不下降子序列问题——题解

    https://www.luogu.org/problemnew/show/P2766 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出 ...

最新文章

  1. 博士选题的态度:商量着来
  2. 《零基础看得懂的C语言入门教程 》——(四)C语言的基本数据类型及变量
  3. 新势力首家 小鹏汽车正式纳入港股通!
  4. ShardingSphere RAW JDBC 分布式事务 Narayana XA 代码示例
  5. 飞步神速!何晓飞团队完成无人车深度学习芯片流片,算力创国内新高
  6. [Java] 读写字符串数据
  7. rostcm6情感分析案例分析_案例分析,小刘如何处理情感关系?
  8. 常见的java开源组件_java开源框架有哪些?Java常用开源框架
  9. 【SQL】数据库模糊查询
  10. 网络营销推广实战宝典 软文推广
  11. 云计算淡定从容的大局观
  12. 华为云、百度云 群控系统开发流程
  13. Qgis教程11:三维效果
  14. CentOS 7.8安装mysql 5.7.30
  15. iap进入app后 按复位按钮进入iap无法再进app问题
  16. activiti-流程变量
  17. 信息化和数字化的核心差异
  18. 51单片机电子钟 是如何做成的(5)---试验电路 的电路板制作(热转印法)
  19. EAS BOS开发入门案例 采购订货
  20. M1、M2芯片Mac安装虚拟机

热门文章

  1. iphone计算机打电话,教你在Win10上使用iPhone的电话、短信功能
  2. pdf怎么转换成图片,pdf转图片教程
  3. Unity 泛型单例
  4. opencv-图像处理1 图像基本操作
  5. 2020年“有史以来”全网最全1309道BAT大厂java面试题,mongodb原理知识
  6. JSTL自定义标签(三)
  7. 怎么做二维码?二维码制作的简单方法
  8. 微信小程序绘制自定义海报,可带二维码,头像,文字等
  9. 人生无捷径「一万小时定律·正篇」
  10. python:实现newton_forward_interpolation牛顿前插算法(附完整源码)