1045. Favorite Color Stripe (30)

来源:互联网 发布:新淘宝店铺开了没人买 编辑:程序博客网 时间:2024/05/01 08:34

考察最长非连续子序列,有点变种

#include<iostream>#include<map>#include<vector>#include<algorithm>using namespace std;int n, m, l;typedef struct Node{int len, pre;}Node;int main(){while(scanf("%d",&n)!=EOF){scanf("%d",&m);vector<int> fc(m);map<int,int> color2id;for(int i = 0; i < m; ++i){int c;scanf("%d",&c);fc[i] = c; color2id.insert(make_pair(c, i));}//scanf("%d",&l);vector<int> a;for(int i = 0; i < l; ++i){int c;scanf("%d",&c);map<int,int>::iterator it = color2id.find(c);if(it!=color2id.end())a.push_back(it->second);}//get the maximum non-continuous subsequenceint realn = a.size();vector<int> d(realn, 1);if(realn == 0)printf("0\n");else{//d[0] = 1; //d[0].pre = 0;for(int i = 1; i < realn; ++i){//get the maximum onefor(int j = 0; j < i; ++j){if(a[i] >= a[j])d[i] = max(d[i], d[j]+1);}}//then get the maxint mmax = 0;for(int i = 0; i < realn; ++i)mmax = max(d[i], mmax);printf("%d\n",mmax);}}return 0;}


 

 

原创粉丝点击