JZOJ.1728. Antimonotonicity

来源:互联网 发布:led灯光编程软件 编辑:程序博客网 时间:2024/04/30 16:48

Problem

Description

给你1-N的一个排列,数列中的数字互不相等,要求找出最长的子序列a,满足a1 > a2,a2 < a3,a3 > a4,a4 < a5……

Input

T 代表T组数据 T<=50
每组数据一行: n 代表给你n个数,然后就是n个数 N<=30000

Output

T行 每行一个数:
对于每组数据输出最长子序列的长度

Sample Input

4
5 1 2 3 4 5
5 5 4 3 2 1
5 5 1 4 2 3
5 2 4 1 3 5

Sample Output

1
2
5
3

Solution

这道题看上去很难,实际上我们只需要找到每一个序列的拐点就行了。拐点的个数就是答案的值。理由:因为这个数据是波动的,如果ai>aj,ai>akai<aj,ai<ak

4 0