题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1241
题意:中文题诶~
思路:通过观察我们不难发现就是找连续上升子序列,答案就是n-最长连续上升子序列长度;
注意:我们要找的是3, 4, 5, 6这样的连续上升子序列,而非1, 3, 5, 9 这样的上升子序列,因为两个连续的数之间如果有其他数我们可以直接移除,但是如果不连续的话我们无法直接加进去。。。
代码:
#include <iostream>
#define MAXN 50010
using namespace std; int dp[MAXN]; int main(void){
ios::sync_with_stdio(false), cin.tie(), cout.tie();
int n, x, ans=;
cin >> n;
for(int i=; i<n; i++){
cin >> x;
dp[x]=dp[x-]+;
ans=max(ans, dp[x]);
}
cout << n-ans << endl;
return ;
}