求助Python最后节点
查看原帖
求助Python最后节点
1510687
Smart_Dagong楼主2024/10/30 10:49

pthon过不了最后那个测试点 用python3交就超时 用pypy3就超出存储 蒟蒻求助,呜呜呜呜呜 已经是O(nlogn)了


paodan=list(map(int,input().split()))
f_changdu_max=[0]
f_changdu_max[0]=50005
systerm=[paodan[0]]
t,t2=0,1
for i in range(len(paodan)):
    l,r=0,t
    k = paodan[i]
    while l<=r:
        m=(l+r)//2
        if paodan[i]<=f_changdu_max[m]:
            l=m+1
        else:
            r=m-1
    if l>t:
        t=l
        f_changdu_max.append(k)
    else:
        f_changdu_max[l]=k

    l, r = 0, t2 - 1
    while l <= r:
        m = (l + r) // 2
        if systerm[m] >= k:
            l = m + 1
        else:
            r = m - 1
    if r < 0:
        systerm = [k] + systerm
        t2 += 1
    else:
        systerm[r]=k
print(t)
print(t2)
2024/10/30 10:49
加载中...