最长递增子序列长度直接模板(最长递增子序列)
代码实现:
import java.util.Scanner;
class P1257 {
static int n;
static int[] dp,a;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
n=sc.nextInt();
a=new int[n+1];
for(int i=1;i<=n;i++){
a[i]=sc.nextInt();
}
System.out.println(lis());
}
}
public static int lis() {
int i,j,ans,m;
ans=1;
dp=new int[n+1];
dp[1]=1;
for(i=2;i<=n;i++){
m=0;
for(j=1;j<=i;j++){
if(dp[j]>m &&a[j]<a[i]){
m=dp[j];
}
}
dp[i]=m+1;
if(dp[i]>ans){
ans=dp[i];
}
}
return ans;
}
}