简单最长子序列模版
#include"stdio.h" #include"string.h" int dp[1010]; int main() { int i,j; int n; int a[1010]; int max; while(scanf("%d",&n)!=EOF) { memset(dp,0,sizeof(dp)); for(i=0;i<n;i++) scanf("%d",&a[i]); dp[0]=1; for(i=1;i<n;i++) { max=0; for(j=0;j<i;j++) { if(a[i]>a[j]) { if(max<dp[j]) max=dp[j]; } } dp[i]=max+1; } max=0; for(i=0;i<n;i++) { if(dp[i]>max) max=dp[i]; } printf("%d\n",max); } return 0; }