递增
题目
- 现有数列A1,A2,····,AN,修改最少的数字,使得数列严格单调递增。
输入
-
第1 行,1 个整数N
-
第2 行,N 个整数A1,A2,⋯,AN
输出
- 1 个整数,表示最少修改的数字
输入样例
3
1 3 2
输出样例
1
说明
-
对于50% 的数据,N≤10^3
-
对于100% 的数据,1≤N≤10 ^ 5 ,1≤Ai≤10 ^ 9
解题思路
- 其实这道题就是一道二分,把每一个数放入一个数组中,看是否比上一个大,如果大就加到后面,不然就从第一个开始看,找比它大的就换掉.这样就可以得出最长上升序列,然后就可以把n减去即可.
程序如下
#include<iostream>
#include<algorithm>
#include<cstdio>