AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 更多
    • 题解
    • 分享
    • 问答
  • App
    New
  • 登录/注册

AcWing 482. 合唱队形    原题链接    简单

作者: 作者的头像   Anohkx ,  2023-09-27 20:11:57 ,  所有人可见 ,  阅读 27


7


zhi识点

1.这个下面link的第一条评论很有必要看一下,解开了我心中多年的疑惑(可以通过举例法)
点我

#include <bits/stdc++.h>
#define N 1010
using namespace std;

int n, w[N];
int l[N], r[N];

int main()
{
    cin >> n;
    for(int i = 1; i <= n; ++ i) cin >> w[i];

    for(int i = 1; i <= n; ++ i)
    {
        l[i] = 1;
        for(int j = 1; j < i; ++ j)
            if(w[i] > w[j])
                l[i] = max(l[i], l[j] + 1);
    }

    for(int i = n; i ; -- i)
    {
        r[i] = 1;
        for(int j = n; j > i; -- j)
            if(w[i] > w[j])
                r[i] = max(r[i], r[j] + 1);
    }

    int res = 0;
    for(int i = 1; i <= n; ++ i) res = max(res, l[i] + r[i] - 1);
    cout << n - res << endl;;
}

0 评论

你确定删除吗?

© 2018-2023 AcWing 版权所有  |  京ICP备2021015969号-2
用户协议  |  隐私政策  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标 qq图标
请输入绑定的邮箱地址
请输入注册信息