# Author : luoxijixian
# Createtime : 2023/1/8
# Filename : 题目 2124 信息学奥赛一本通T1259-求最长不下降序列
# Description : simple introducyion of the code
n=int(input())
A=list(map(int,input().split()))
def LIS(A,n):
A=[-1]+A
L=[0]*(n+10)#初始化,不用下标为0的数组
P=[-1]*(n+10)
max=0
max_index=0
for i in range(1,n+1):
k=0
for j in range(1,i):
if A[j]<=A[i] and L[j]>=L[k]:#A[j]L[k],标准应该是不加=,但是过不了
k=j
L[i]=L[k]+1
P[i]=k
if(L[i]>max):
max=L[i]
max_index=i
i=max_index
print(f"max={L[i]}")
ans=[]
while(i!=0):#不能写成P【i】!=0,否则会形成P【P【i】】的嵌套
ans.append(A[i])
i=P[i]
ans.reverse()
print(*ans)
LIS(A,n)
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复