題意: 求最長上升子序列 做法: 最長上升子序列。、、、、 注意: 注意數組范圍 [html] #include<iostream> #include<stdio.h> #include<string.h> using namespace std; int main() { int n,i,j; int a[100001]; cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; } int sum[100001]; sum[0]=0; sum[1]=1; for(i=1;i<=n;i++) { int max=1; for(j=1;j<i;j++) { if(a[j]<a[i]&&sum[j]+1>max) { max=sum[j]+1; } } sum[i]=max; } int maxl; maxl=0; for(i=1;i<=n;i++) { if(maxl<sum[i]) maxl=sum[i]; } printf("%d\n",maxl); return 0; }