题目要求:
登山观光,山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。不连续浏览海拔相同的两个景点,并且一旦开始下山,就不再向上走了。队员们希望在满足上面条件的同时,尽可能多的浏览景点。
题目思路:
a[i]表示包含第i个元素的最大上升子序列,c[i]表示包含第i个元素的最大下降子序列,求最大上升子序列与最大下降子序列的和-1即为最多可能多的浏览景点。
细节处理:
因为上山到一定程度后还可以下山,同时同一个景点可以在不连续浏览的情况下浏览两次,所以此题需要求最大上升子序列与最大下降子序列的和的最大值。
#include<iostream>
using namespace std;
int main()
{
int a[1005],b[1005],c[1005