题解 | 合唱队形
合唱队形
https://www.nowcoder.com/practice/0045cd3e39634a66ada63c2adeb49234
import sys
n = int(input())
arr = list(map(int,input().split()))
rarr = arr[::-1]
dpn = [1 for _ in range(n)]
dpm = [1 for _ in range(n)]
for i in range(1,n):
for j in range(i):
if arr[i] > arr[j]:
dpn[i] = max(dpn[i],dpn[j]+1)
for i in range(1,n):
for j in range(i):
if rarr[i] > rarr[j]:
dpm[i] = max(dpm[i],dpm[j]+1)
dp = result = [x + y for x, y in zip(dpn, dpm[::-1])]
res = (n+1)-max(dp)
print(res)
查看9道真题和解析
