文章

99

粉丝

120

获赞

8

访问

97.5k

头像
ZIG-ZAG
备考心情
发布于2024年8月4日 10:53
阅读数 1.1k

#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
#include<string.h>
#include<queue>
#include<math.h>
#include<bits/stdc++.h>
using namespace std;
const int maxv=4010;

int main() {
	int n;
	while(cin>>n)
	{
		int a[n+5];
		for(int i=0;i<n;i++)
		{
			cin>>a[i];
		}
		int dp[n+1][2];
		memset(dp,0,sizeof(dp));
		int ans=1;
		dp[0][0]=1;// 代表是上升
		dp[0][1]=1;
		for(int i=1;i<n;i++)
		{
			for(int j=0;j<i;j++)
			{
				if(a[i]>a[j])
				{
					dp[i][0]=max(dp[i][0],dp[j][1]+1);
				}
				else if(a[i]<a[j])
				{
					dp[i][1]=max(dp[i][1],dp[j][0]+1);
				}
			}
			ans=max(ans,max(dp[i][0],dp[i][1]));
			
		}
		cout<<ans<<endl;
	}
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发