最长上升子序列c++运行超时求改进
查看原帖
最长上升子序列c++运行超时求改进
935672
fanhan123楼主2024/11/2 20:06
#include <bits/stdc++.h>
using namespace std;
const int N=1000;
int a[N],dp[N],t;
int main(){
	cin>>t;
	for (int i=0;i<t;i++){
		cin>>a[i];
		dp[i]=1;
	}
	for (int i=1;i<t;i++){
		int maxv=0;
		for (int j=0;j<i;j++){
			if (a[j]<a[i]){
				dp[i]=max(dp[j]+1,dp[i]);
			}
		}
	}
	int maxs=0;
	for (int i=0;i<t;i++){
		maxs=max(maxs,dp[i]);
	}
	cout<<maxs<<endl;
	return 0;
}
2024/11/2 20:06
加载中...