典型的LIS问题
1 #include<iostream> 2 #include<algorithm> 3 #include<cstdio> 4 using namespace std; 5 int a[1001]; 6 int f[1001]; 7 int main() 8 { 9 int n; 10 scanf("%d",&n); 11 for(int i=1;i<=n;i++) 12 { 13 scanf("%d",&a[i]); 14 } 15 for(int i=1;i<=n;i++) 16 { 17 f[i]=1; 18 } 19 for(int i=1;i<=n;i++) 20 { 21 for(int j=1;j<i;j++) 22 { 23 if(a[j]<a[i]) 24 { 25 f[i]=max(f[i],f[j]+1); 26 } 27 } 28 } 29 int res=0; 30 for(int i=1;i<=n;i++) 31 { 32 res=max(res,f[i]); 33 } 34 printf("%d\n",res); 35 return 0; 36 }
时间: 2024-10-10 04:07:44