牛客 假日 13c

合唱队形

https://ac.nowcoder.com/acm/contest/1082/C

题目描述:给你n个数要求你挑出尽可能少的几个数使得前半部分递增后半部分递减
n<130
分析:看数据范围可以看出来肯定是直接暴力,暴力每个点往前能构成的最长子序列,和往后的最长递减子序列,
            然后问题就是如何找最长递增(或递减)子序列, 考虑到一个最长子序列肯定是之前的最长子序列加一 所以记录下之前的就一定能找到后面的(非常像dp)
ac代码:
#include<iostream>
#include<cmath>
using namespace std;
int main(){
	int a[105];
	int al[105]={0},ar[105]={0};
	int n;
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<i;j++){
			if(a[i]>a[j]) al[i]=max(al[i],al[j]+1);
		}
	}
	for(int i=n;i>=1;i--)for(int j=n;j>i;j--) if(a[i]>a[j]) 
		ar[i]=max(ar[i],ar[j]+1);
	int ans=0;
	for(int i=1;i<=n;i++) {
		ans=max(ans,ar[i]+al[i]);
	}
	cout<<n-1-ans<<endl;
}

全部评论

相关推荐

叶扰云倾:进度更新,现在阿里云面完3面了,感觉3面答得还行,基本都答上了,自己熟悉的地方也说的比较细致,但感觉面试官有点心不在焉不知道是不是不想要我了,求阿里收留,我直接秒到岗当阿里孝子,学校那边的房子都退租了,下学期都不回学校,全职猛猛实习半年。这种条件还不诱人吗难道 然后现在约到了字节的一面和淘天的复活赛,外加猿辅导。华为笔试完没动静。 美团那边之前投了个base广州的,把我流程卡麻了,应该是不怎么招人,我直接简历挂了,现在进了一个正常的后端流程,还在筛选,不知道还有没有hc。
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
07-02 13:52
武汉大学 golang
骗你的不露头也秒
牛客87776816...:😃查看图片
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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