题目传送门 最长不下降子序列 代码: #includebits/stdc++.h using namespace std; const int maxn=30000+100; const int INF=0x3f3f3f3f; int main(){ int n; scanf("%d",n); vectorintG; for(int i=1;i=n+1;i++) G.push_bac
题目传送门 最长不下降子序列
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=30000+100;
const int INF=0x3f3f3f3f;
int main(){
int n;
scanf("%d",&n);
vector<int>G;
for(int i=1;i<=n+1;i++) G.push_back(INF);
for(int i=1,val;i<=n;i++){
scanf("%d",&val);
*upper_bound(G.begin(),G.end(),val)=val;
}
printf("%d\n",lower_bound(G.begin(),G.end(),INF)-G.begin());
}