给定一个长度为N的数组,找出一个最长的单调自增子序列(不一定连续,但是顺序不能乱)。例如:给定一个长度为6的数组A{5, 6, 7, 1, 2, 8},则其最长的单调递增子序列为{5,6,7,8},长度为4.
#include
#define maxn 100//假设最多有100个元素
using namespace std;
int L[maxn];//L[i]表示元素序列data[0]~data[i]的最长递增子序列的长度
int x[maxn][maxn];//存储对应的最长递增子序列
int data[maxn];
int n;
int inp()
{
for(int i=0;i
=0;j--)
{
if((data[j]