文章

20

粉丝

412

获赞

11

访问

154.9k

头像
最长上升子序列
P1840 南京理工大学机试题
发布于2021年3月27日 10:40
阅读数 10.2k

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

int main() {
    int n, maximun = INT_MIN, a[505], dp[505];
    cin >> n;
    for(int i = 0;i < n;i++) {
        cin >> a[i];
        dp[i] = 1;
    }
    for(int i = 0;i < n;i++) {
        for(int j = i-1;j >= 0;j--)
            if(a[j] < a[i]) {
                dp[i] = max(dp[j]+1, dp[i]);
                break;
            }
        maximun = max(maximun, dp[i]);
    }
    cout << maximun << endl;
    return 0;
}

 

登录查看完整内容


登录后发布评论

4 条评论
热带浩室
2021年4月29日 11:00

请问为什么需要break呀

赞(0)

JohnWang : 回复 热带浩室: 应该是题目的问题,本来不用加break的

2021年4月29日 16:12

热带浩室 : 回复 JohnWang: 俺也觉得,谢谢!!

2021年4月29日 17:03

大凯 : 回复 热带浩室: 我也感觉break应该去掉,这道题评判的有问题。

2022年3月25日 09:17