#别人的算法,动态规划问题,要好好学习 #本题:寻找最长的递增子序列的长度 #输入 n=int(input()) l=[int(x) for x in input().strip().split()] #动态规划问题 #这道题用动态规划最合适,而且要从右往左走开始计算比当前l[i] #大于的l[j](需有l[j]开始结算有多个比其大的值有多少个),比较 #公式即为max(dp[i],dp[j]+1) dp = [1]*n for i in range(n)[::-1]: for j in range(i+1,n): if l[j]>l[i]: dp[i] = max(dp[i],dp[j]+1) #输出 print(max(dp))