这个题首先要知道是求最大连续上升子序列的问题
然后找到这个DP问题的解决方法就好了
大概你作为一个山东科技大学的学生肯定会做
直接上代码惹
#include <bits/stdc++.h>
#define MAX 100000+10
#define INF 100000000
using namespace std;
int a[MAX],c[MAX],len;
int main()
{
int n,j;
while(scanf("%d",&n)!=EOF)
{
for(int i=0; i<n; i++)
scanf("%d",&a[i]);
len=0;
c[0]=-INF;
for(int i=0; i<n; i++)
{
if(a[i]>c[len]) j=++len;
else j= lower_bound(c,c+len,a[i]) - c;
c[j]=a[i];
}
printf("%d\n",len);
}
}