等差数列即相邻两项之间的差都相等1 3 5 7,5 10 15 20 , 都是等差数列。
子序列是指序列的一部分项,按原有次序排列而得的序列,例如:
1 5 11是1 3 5 7 9 11 13 的子序列。
任何有序且元素互不相同的序列,都可以看成是公差为 1 的等差数列的子序列,这样太普通了,我们认为某个序列 A是某个等差数列 F 的子序列,并且 的公差大于 1,则是非普通序列,例如: 1 5 11就是非普通序列,因为是 1 3 5 7 9 11 13 的子序列。
现在给出N个数组成序列 {Ai},求该序列最少可以分为多少段 [i,j],满足区间 [i,j]中的数 Ai到 Aj 从小到大排序后是一个非普通序列
第一行一个正整数 N。
接下来一行包含N个正整数,第i个正整数为Ai。
其中1=<N<=100000,1=<Ai<=10^9。
仅有一个正整数,表示最少可以被划分的区间数。
7 1 5 11 2 6 4 7
3
8 4 2 6 8 5 3 1 7
2
对于 1 5 11 2 6 4 7,可以将 1 5 11 分为一组,因为他们是 1 3 5 7 9 11的子序列,
2 6 4 分为一组, 7 单独一组,共 3 组。
对于 4 2 6 8 5 3 1 7,我们把 4 2 6 8 分为一组, 5 3 1 7分为一组。
时间限制 | 1 秒 |
内存限制 | 128 MB |