51nod1241[特殊的排序]【贪心】
来源:互联网 发布:java 字符串数组排序 编辑:程序博客网 时间:2024/06/05 09:48
Description
一个数组的元素为1至N的整数,现在要对这个数组进行排序,在排序时只能将元素放在数组的头部或尾部,问至少需要移动多少个数字,才能完成整个排序过程?
例如:
2 5 3 4 1 将1移到头部 =>
1 2 5 3 4 将5移到尾部 =>
1 2 3 4 5 这样就排好了,移动了2个元素。
给出一个1-N的排列,输出完成排序所需的最少移动次数。
题解
最坏的情况需要移动几次?每个位置最多移动一次,所以最坏的情况需要移动
代码
#include<cstdio>#include<cstring>#include<algorithm>#define maxn 50006using namespace std;int n,ans,a[maxn],f[maxn];int main(){ freopen("sort.in","r",stdin); freopen("sort.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&a[i]); for(int i=1;i<=n;i++)f[a[i]]=f[a[i]-1]+1,ans=max(ans,f[a[i]]); printf("%d",n-ans); return 0;}
阅读全文
0 0
- 【贪心】51Nod1241[特殊的排序]题解
- 51nod1241[特殊的排序]【贪心】
- 【51Nod1241】 特殊的排序
- 51nod1241 特殊的排序
- 【贪心】51Nod 1241 特殊的排序
- 51nod oj 1241 特殊的排序 【排序之贪心】
- [贪心 DP] 51Nod 1241 特殊的排序
- 51nod1214特殊的排序
- 特殊的排序 51Nod
- 51Nod 1241 特殊的排序
- 51nod 1241:特殊的排序
- 【51Nod 1241】特殊的排序
- 51nod-1241 特殊的排序
- 51nod 1241 特殊的排序
- 51Nod-1241-特殊的排序
- 51 nod 1241 特殊的排序(思维)@
- 51Nod 1241 特殊的排序
- 特殊的排序
- (web服务器)到嵌入式Linux系统
- 字符串练习
- bower的安装和使用
- TensorFlow 变量共享,命名空间
- JAVA-初步认识-第二章-自动类型提升&强制类型转换
- 51nod1241[特殊的排序]【贪心】
- ip地址错误解决方法
- opencv训练样本
- 深度学习(三)---卷积神经网络
- 欢迎使用CSDN-markdown编辑器
- Nginx 安装配置
- memcache配置、基本使用与集群配置
- Redis-数据结构-整数集合-intset
- vb.net 教程 12-6 webbrowser 文本编辑器 1