题解 | #合唱队#

合唱队

https://www.nowcoder.com/practice/6d9d69e3898f45169a441632b325c7b4

#使用了两个dp列表来存储状态
#我很厉害,非常有长进,从一开始不会动态规划,到现在可以解决这个问题了!

n=int(input())
s=[int(x) for x in input().split()]

dp1=[1]*n
dp2=[0]*n

#从后往前,看这个人右边最多能站几个人
for i in range(n)[::-1]:
    for j in range(i,n)[::-1]:
        if s[i]>s[j] and dp1[j]+1>dp1[i]:
            dp1[i]=dp1[j]+1
        # if s[i]>s[j]:会超时
        #     dp1[i]=max(dp1[j]+1,dp1[i])
		
#从前往后,看这个人左边最多能站几个人
for i in range(n):
    for j in range(i):
        if s[i]>s[j] and dp2[j]+1>dp2[i]:
            dp2[i]=dp2[j]+1
        # if s[i]>s[j]:会超时
        #     dp2[i]=max(dp2[j]+1,dp2[i])

dp3 =list(map(lambda x: x[0] + x[1], zip(dp1, dp2)))

print(n-max(dp3))

全部评论
厉害😍
点赞 回复 分享
发布于 2024-08-16 08:41 广东

相关推荐

06-12 17:46
门头沟学院 Java
运营你豪哥:来说重点: ​1.项目前置,时间倒序。​​ 2.​项目描述强化结果与量化效果(STAR原则里的R)。​​ ​3.个人技能精炼,明确掌握程度,突出核心。​​ ​4.增加强有力开头的个人总结部分。​​ 5.​优化教育背景(成绩排名)、合并奖项与活动。​​
听劝,我这个简历该怎么改...
点赞 评论 收藏
分享
哈哈哈哈哈哈哈哈哈哈这个世界太美好了
凉风落木楚山秋:毕业出路老师不管,你盖个章他好交差就完事了,等你盖完毕业了就不关他事情了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务