洛谷P1091合唱隊形

最長的T1 <…T i+1 >…>T K​ (1≤i≤K)。

#include<bits/stdc++.h>
#define pk push_back
using namespace std;
typedef long long ll;
const int inf=0x7fffffff;
int dp[105],f[105];
int main()
{
	int n;
	int a[105];
	cin>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i],dp[i]=1,f[i]=1;
	for(int i=2;i<=n;i++)
	{
		for(int j=1;j<i;j++)
		if(a[i]>a[j]) dp[i]=max(dp[i],dp[j]+1);
	}
	for(int i=n-1;i>=1;i--)
	{
		for(int j=n;j>i;j--)
		if(a[i]>a[j]) f[i]=max(f[i],f[j]+1);
	}
	int ans=0;
	for(int i=1;i<=n;i++)
	ans=max(ans,dp[i]+f[i]-1);
	cout<<n-ans<<endl;
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章