题解 | 合唱队

#include <bits/stdc++.h>
using namespace std;
int n;
int a[3009],dp1[3009],dp2[3009];
int ans=-0x3f3f3f;
int main() {
    cin>>n;
    for(int i=1;i<=n;i++) {
        cin>>a[i];
    }
    dp1[1]=1;
    for(int i=2;i<=n;i++) {
        dp1[i]=1;
        for(int l=1;l<i;l++) {
            if(a[l]<a[i]) dp1[i]=max(dp1[i],dp1[l]+1);
        }
    }
    dp2[n]=1;
    for(int i=n-1;i>=1;i--) {
        dp2[i]=1;
        for(int r=n;r>i;r--) {
            if(a[r]<a[i]) dp2[i]=max(dp2[i],dp2[r]+1);
        }
    }
    for(int i=1;i<=n;i++) {
        ans=max(ans,dp1[i]+dp2[i]);
    }
    cout<<n-ans+1<<endl;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

2024-12-31 10:46
已编辑
腾讯_开发(实习员工)
又到了年底了,相信很多同学都在焦虑着自己第一份实习,那第一份实习应该则呢么找呢?step1:&nbsp;首先要确定好自己想在秋招找到一份什么类型的工作,算法、开发、测试、运维?可以参考我的另一篇文章至于非技术岗像是产品,策划这些岗位已经有明显的金融化趋势了,并且非常地吃实习段数,小伙伴们在求职时要好好考虑哦step2:&nbsp;个人简历,简历是找工作的第一步,简历这里建议大家强烈不要用那种几个竖排的简历,那种看起来很乱,从上到下按照,基本信息(联系方式啥的)&nbsp;&nbsp;1.学历信息&nbsp;&nbsp;2.个人技能&nbsp;3.&nbsp;项目经历/论文经历(这一块至少写两段,比如两个项目这样子,否则简历写不满)&nbsp;4.学校获奖经历(没有就不填,问题不大)&nbsp;5.&nbsp;语言证书等&nbsp;6.&nbsp;个人优势(这段纯纯凑字数的,写不满一页就加这个)step3:&nbsp;大胆地投出你的简历,千万不要想我没准备好就先复习好再投,你是复习不完的,要边投边面,边复习。有时候缺人说不定运气好就进去了step4:&nbsp;每次面试录音总结,然后复盘面试题,这么积累几次就会发现问的大差不差,你也成为了面试高手了!step5:&nbsp;面试时问能实习多久,不管你最终能实习多久,一律回答能实习到毕业,不需要回学校,这样能大大加大你面试成功的概率。如果之后迫不得已离职,责任全推学校上就行了(比如:老登发现我出来了,不得不回去等借口),公司会理解的。至于从哪里找到投递渠道,有下面这几个靠谱的:1.&nbsp;学长学姐内推(最靠谱)2.&nbsp;boss上,海投3.&nbsp;官网投递(这个流程长,还不一定捞)强烈建议大家先拿不想去的公司练手,再投想去的公司一般公司不同部门都是无限复活的,除了极个别公司(相信大家也都知道哪个公司面评很重要,谨慎投递哈,真的会一次烂评,一直不捞起来的)最后总结,一定要大胆投递,勇敢的人先享受实习!祝大家都能拿到自己心仪的offer#牛客激励计划##ai智能作图#
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务