文章

34

粉丝

9

获赞

5

访问

8.8k

头像
南京理工-搬箱子 题解:最长递增子序列
P1840 南京理工大学机试题
发布于2024年7月25日 15:25
阅读数 143

#include <bits/stdc++.h>

using namespace std;

const int N = 1e3 + 10;
int s[N],dp[N];

int longSeq(int s[],int n){
	for(int i = 0;i < n;i ++)dp[i] = 1;
	
	for(int i = 1;i < n;i ++){
		for(int j = 0;j < i;j ++){
			if(s[i] > s[j]){
				dp[i] = max(dp[i],dp[j] + 1);			
			}
		}
	}

	sort(dp,dp + n);
	return dp[n - 1];
}

int main(){
	int n;
	cin >> n;
	
	for(int i = 0;i < n;i ++){
		cin >> s[i];
	}
	
	cout << longSeq(s,n) << endl;
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发