HzuHtx


私信TA

用户名:hetangxin123

访问量:44769

签 名:

私はいつまでもレムが好きです。

等  级
排  名 32
经  验 14532
参赛次数 10
文章发表 76
年  龄 0
在职情况 学生
学  校 贺州学院
专  业 软件工程

  自我简介:

写不动,根本写不动

解题思路:

            最长不降子序列和最长上升子序列



#include <iostream>
#include <stdio.h>
#include <map>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
typedef long long ll;
const int MAXN = 101;
int dp[MAXN];
int ans[MAXN];
int n = 1;
int maxx, num;
void f1()
{
	for (int i = 1; i < n; i++)
	{
		dp[i] = 1;
		for (int j = 1; j < i; j++)
		{
			if (ans[j] > ans[i] && dp[i] < dp[j] + 1)
			{
				dp[i] = dp[j] + 1;
			}
		}
		if (maxx < dp[i])
			maxx = dp[i];
	}
}
void f2()
{
	for (int i = 1; i <= n; i++)
	{
		dp[i] = 1;
		for (int j = 1; j < i; j++)
		{
			if (ans[j] < ans[i] && dp[i] < dp[j] + 1)
			{
				dp[i] = dp[j] + 1;
			}
		}
		if (num < dp[i])
			num = dp[i];
	}
}
int main()
{
	while (cin >> ans[n])
		n++;
	f1();
	memset(dp, 0, sizeof(dp));
	f2();
	cout << maxx << endl << num << endl;
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »