社区讨论

稻花香里说丰年 听取WA声一片

P1091[NOIP 2004 提高组] 合唱队形参与者 4已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@lynqf0ss
此快照首次捕获于
2024/07/16 09:25
2 年前
此快照最后确认于
2024/07/16 10:43
2 年前
查看原帖
30分,求调
CPP
#include<iostream>
#define re register
#define int long long
using namespace std;

int n,ans;
int a[105];
int dp1[105],dp2[105];

signed main(){
	dp1[1] = 1;
	dp2[1] = 1;
	cin>>n;
	for(re int i = 1;i <= n;i ++){
		cin>>a[i];
	}
	for(re int i = 1;i <= n;i ++){
		int tmp = 0;
		for(re int j = i - 1;j >= 1;j --){
			if(a[i] >= a[j]){
				tmp = max(tmp,dp1[j]);
			}
		}
		dp1[i] = tmp + 1;
	}
	for(re int i = n;i > 0;i --){
		int tmp = 0;
		for(re int j = 1;j <= i - 1;j ++){
			if(a[i] >= a[j]){
				tmp = max(tmp,dp2[j]);
			}
		}
		dp2[i] = tmp + 1;
	}
	for(re int i = 1;i < n;i ++){
		ans = max(ans,dp1[i] + dp2[i] - 1);
	}
	cout << (n - ans) << endl;
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...