luoxijixian


私信TA

用户名:dotcpp0632789

访问量:235

签 名:

等  级
排  名 37660
经  验 361
参赛次数 0
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

# 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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

Python代码:
n=int(input())
A=list(map(int,input().split()))
def LIS(A,n):
    A=[-1]+A
    L=[0]*(n+10)
    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]<=A[i];L[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):#不能写成
2023-01-09 11:05:30
  • «
  • 1
  • »