/* 连接:1759:最长上升子序列-http://noi.openjudge.cn
易错点:s初始化应该为1,不应该为0 */ #include<iostream> #include<cstring> using namespace std; const int MAXN=1005; int a[MAXN],s[MAXN]; int main() { int n; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } memset(s,0,sizeof(s)); s[0]=1; int max=1; for(int i=1;i<n;i++) { s[i]=1;//这句不能漏,初始化的时候应该是为1,不是为0 for(int j=i-1;j>=0;j--) { if(a[j]<a[i]&&s[j]>=s[i]) s[i]=s[j]+1; } if(s[i]>max) max=s[i]; } cout<<max<<endl; return 0; }
posted on
浙公网安备 33010602011771号