1、最长不增子序列,拦截导弹
#include<cstdio> #include<iostream> #include<string> #include<cstring> #include<cmath> #include<stdlib.h> #include<algorithm> #include<vector> #include<queue> #include<stack> #include<iomanip> using namespace std; long long dp[1000005]; long long A[1000005]; int main() { int k; cin>>k; for(int i=1;i<=k;i++) { cin>>A[i]; } long long a=0; for(int i=1;i<=k;i++) { dp[i]=1; for(int j=1;j<i;j++) if(A[i]<=A[j]) dp[i]=max(dp[i],dp[j]+1); a=max(a,dp[i]); } cout<<a<<endl; return 0; }