https://pintia.cn/problem-sets/994805342720868352/problems/994805437411475456
这一道题,实际上就是一道最长上升子序列的一个变种的题。
我们在数组A按照元素的先后顺序设置优先级。
然后再遍历数组B将我们喜欢的颜色的优先级按照先后遍历的顺序保存到数组ans里。
在ans里求一个最长的上升子序列即可。
f[i]表示长度为i的最长上升子序列的最后一个元素 len是我们最长上升子序列的长度

#include<bits/stdc++.h>
using namespace std;
const int N=1e4+10;
map<int,int>mp;
vector<int>ans;
int a[N],b[N],k,n,m,len;
int f[N];
int main(void)
{cin>>k;cin>>n;for(int i=0;i<n;i++) cin>>a[i],mp[a[i]]=i+1;//给喜欢的序列,设置优先级cin>>m;for(int i=0;i<m;i++) cin>>b[i];for(int i=0;i<m;i++) if(mp[b[i]]) ans.push_back(mp[b[i]]);//只要喜欢的数据。for(int i=0;i<ans.size();i++) {int l=0,r=len;while(l<r){int mid=l+r+1>>1;if(f[mid]<=ans[i]) l=mid;else r=mid-1;}len=max(len,r+1);f[r+1]=ans[i];}cout<<len<<endl;return 0;
}

1045 Favorite Color Stripe (30 分)【难度: 中 / 知识点: DP】相关推荐

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

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

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

    点击链接PAT甲级-AC全解汇总 题目: Eva is trying to make her own color stripe out of a given one. She would like t ...

  3. 1045 Favorite Color Stripe (30分)

    题目 Eva is trying to make her own color stripe out of a given one. She would like to keep only her fa ...

  4. 【PAT - 甲级1045】Favorite Color Stripe(30分)(dp,LIS类问题)

    题干: Eva is trying to make her own color stripe out of a given one. She would like to keep only her f ...

  5. 1045. Favorite Color Stripe (30)

    题目连接:https://www.patest.cn/contests/pat-a-practise/1045原题如下: Eva is trying to make her own color str ...

  6. pat1045. Favorite Color Stripe (30)

    1045. Favorite Color Stripe (30) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue ...

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

    1045 Favorite Color Stripe(最长不下降子序列) 题意:按照题目给出的颜色序列找出原颜色序列中对应的子序列,给出的颜色序列不需要在子序列中全部出现. 解法:根据给出的序列对相应 ...

  8. 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 ...

  9. PAT甲级1068 Find More Coins (30 分):[C++题解]DP、背包问题、dp输出方案

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析:m是背包容量,a1,a2,....,ana_1,a_2,....,a_na1​,a2​,....,an​是n个物品,第i个物品的体积是 ...

最新文章

  1. JSP简单标签带属性开发
  2. Web前端上万字的知识总结
  3. eclipse 自动生成代码
  4. Ansible基本使用及常用模块详解
  5. oracle row 00033,00033-ContentProvider实现数据共享[总结]
  6. 探讨Express Router Route
  7. VS2013编译OBS源码
  8. jsf 项目_您将在下一个项目中使用JSF吗?
  9. WPF窗体最小化到任务栏
  10. KVM之初体验——QEMU安装虚拟机
  11. eclipse解决国际化乱码问题
  12. DI使用value属性与value标签的区别以及xml预定义实体引用
  13. 利萨茹(Lissajous)曲线动画演示
  14. 计算机考研机构排行,2022计算机考研辅导班十大排名
  15. 在VS2017中添加WTL窗口
  16. Netty之编解码器框架
  17. 集合collection
  18. [机器翻译]—BLEU值的计算
  19. 设计模式之状态机模式
  20. JavaScript学习笔记整理(六)

热门文章

  1. 关于在pycharm下提示ModuleNotFoundError: No module named 'XXX' 的一种可能
  2. C# using的用法
  3. Spring基础知识及入门
  4. Python基础(14)_python模块之configparser模块、suprocess
  5. JavaScript window.location物
  6. 递归遍历文件夹,并添加到TreeView控件中
  7. 基于BindingSource的WinForm开发
  8. HTML a 标签的正则表达式
  9. 用java程序将GBK字符转成UTF-8编码格式(转)
  10. (chap4 IP协议) CIDR协议