Reorder the Books

Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 919    Accepted Submission(s):
501

Problem Description
dxy has a collection of a series of books called "The
Stories of SDOI",There are n(n≤19)

books in this series.Every book has a number from 1

to n

.

dxy puts these books in a book stack with the order of their numbers
increasing from top to bottom. dxy takes great care of these books and no one is
allowed to touch them.

One day Evensgn visited dxy's home, because dxy
was dating with his girlfriend, dxy let Evensgn stay at home himself. Evensgn
was curious about this series of books.So he took a look at them. He found out
there was a story about "Little E&Little Q". While losing himself in the
story,he disrupted the order of the books.

Knowing that dxy would be back
soon,Evensgn needed to get the books ordered again.But because the books were
too heavy.The only thing Evensgn could do was to take out a book from the book
stack and and put it at the stack top.

Give you the order of the
disordered books.Could you calculate the minimum steps Evensgn would use to
reorder the books? If you could solve the problem for him,he will give you a
signed book "The Stories of SDOI 9: The Story of Little E" as a gift.

 
Input
There are several testcases.

There is an
positive integer T(T≤30)

in the first line standing for the number of testcases.

For each
testcase, there is an positive integer n

in the first line standing for the number of books in this
series.

Followed n

positive integers separated by space standing for the order of the disordered
books,the ith

integer stands for the ith

book's number(from top to bottom).

Hint:
For the first
testcase:Moving in the order of book3,book2,book1

,(4,1,2,3)→(3,4,1,2)→(2,3,4,1)→(1,2,3,4)

,and this is the best way to reorder the books.
For the second testcase:It's
already ordered so there is no operation needed.

 
Output
For each testcase,output one line for an integer
standing for the minimum steps Evensgn would use to reorder the books.
 
Sample Input
2
4
4 1 2 3
5
1 2 3 4 5
 
Sample Output
3
0
 
题意:一摞书顺序乱了,让你按照序号从小到大的顺序将其排列整齐,一次只能拿一本书,且必须放在最上边,问最少多少步可以实现
题解:先算出已经按顺序排好的书本的个数sum(注意这个序列并不一定连续,而且必须是从某个数到n的序列),用n减去sum即可
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define MAX 100100
using namespace std;
int a[MAX];
int main()
{
int n,m,t,i,j;
scanf("%d",&t);
int maxx,ans;
while(t--)
{
scanf("%d",&n);
maxx=0;
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
if(maxx<a[i])
{
maxx=a[i];
ans=i;
}
}
int ant=ans,sum=0;
for(j=ans;j>=1;j--)
{
if(a[j]==a[ant]-1)
{
sum++;
ant=j;
}
}
printf("%d\n",n-sum-1);
}
return 0;
}

  

hdoj 5500 Reorder the Books的更多相关文章

  1. BestCoder Round 59 (HDOJ 5500) Reorder the Books

    Problem Description dxy has a collection of a series of books called “The Stories of SDOI”,There are ...

  2. hdu 5500 Reorder the Books

    http://acm.hdu.edu.cn/showproblem.php?pid=5500 Reorder the Books Time Limit: 4000/2000 MS (Java/Othe ...

  3. HDU 5500 Reorder the Books 贪心

    Reorder the Books Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php? ...

  4. hdu 5500 Reorder the Books(规律)

    题意:   有一个1→n的排列形成的数列,我们要用最少的操作次数把这个数列从小到大排序,每次操作都是把一个数放到整个数列的最前面. 思路:        首先最大的数n是不用操作的(其他数操作好了,n ...

  5. HDU 5500 Reorder the Books (水题)

    题意: 有n本书,编号为1~n,现在书的顺序乱了,要求恢复成有序的样子,每次只能抽出其中一本并插到最前面,问最少需要多少抽几次? 思路: 如果pos[i]放的不是书i的话,则书i的右边所有的书都必须抽 ...

  6. Reorder the Books -- hdu -- 5500

    http://acm.hdu.edu.cn/showproblem.php?pid=5500 Reorder the Books Time Limit: 4000/2000 MS (Java/Othe ...

  7. Reorder the Books(规律)

    Reorder the Books Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Othe ...

  8. BestCoder Round #59 (div.2) B. Reorder the Books 想法题

    Reorder the Books 问题描述 dxy家收藏了一套书,这套书叫<SDOI故事集>,<SDOI故事集>有n(n\leq 19)n(n≤19)本,每本书有一个编号,从 ...

  9. Reorder the Books-HDU5500

    Problem Description dxy has a collection of a series of books called "The Stories of SDOI" ...

随机推荐

  1. hdu 1730 Northcott Game 博弈论

    很简单的博弈论问题,可以转化为Nim 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> ...

  2. 简单Sql语句统计每年每个月的数据,每个月为数据的每列,简单SQL练习

    有一张表,数据如下 请写出结果为以下的SQL语句. 在mysql中创建表 CREATE TABLE `aa` (  `id` int(10) NOT NULL AUTO_INCREMENT COMME ...

  3. js 中中括号,大括号使用详解

    一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数.如:var LangShen = {"Name":"Langshen",&quo ...

  4. centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...

  5. C++11内存模型的粗略解释

    基本解释 C++11引入了多线程,同时也引入了一套内存模型.从而提供了比较完善的一套多线程体系.在单线程时代,一切都很简单.没有共享数据,没有乱序执行,所有的指令的执行都是按照预定的时间线.但是也正是 ...

  6. WIFI(1)WIFI直连 + socket 可以用来实现类似蓝牙传输数据的功能

    WIFI 直连简介 从Android4.0(API Level=14)开始,允许通过Wi-Fi模块在两个移动设备之间建立直接连接(这种技术称为Wi-Fi Direct),这种连接不需要无线路由作为中介 ...

  7. WINCE6.0+ILI9806E休眠唤醒显示异常问题

    我们的系统WINCE6.0,它支持睡眠和唤醒,目的是想在不使用的时候让设备进入睡眠状态,降低功耗,我们遇到的问题就是设备正常启动后正常显示,但睡眠然后唤醒后要么显示白屏要么是条纹状白屏,如下图: 图1 ...

  8. CentOS升级git

    1.首先查看下当前的版本 [root@localhost ~]# git --versiongit version 1.8.2.1 2.尝试进行升级 [root@localhost ~]# yum u ...

  9. Android开发UI之ListView中的Button点击设置

    在ListView的Item中,如果有Button控件,那么要实现Button和Item点击都有响应,可以将Item的Layout中Button的focusable属性设为false,然后设置layo ...

  10. mysql 共享锁-排它锁

    转  InnoDB 行级锁 http://www.cnblogs.com/dongqingswt/archive/2013/03/28/2987367.html InnoDB 行级锁 分类: 数据库2 ...