[AHOI2012]铁盘整理

题目描述

输入输出格式

输入格式:

共两行。第一行为铁盘个数N(1<=N<=50),第二行为N个不同的正整数,分别为从上到下的铁盘的半径R。(1<=R<=100)

输出格式:

一个正整数,表示使铁盘从小到大有序需要的最少翻转次数。

输入输出样例

输入样例#1:

5
2 4 3 5 1

输出样例#1:

5

迭代加深+A*剪枝把原序列离散后,目标序列是单调递增且相邻为1的序列每一次规定一个次数显然对于一个序列,至少要交换相邻不为1的数字个数如果加上这个次数大于规定次数就退出
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 struct Node
 7 {int x,id;
 8 }a[1001];
 9 int s[1001],ans,n;
10 bool cmp(Node a,Node b)
11 {
12   return a.x<b.x;
13 }
14 int count()
15 {int tot=0,i;
16   for (i=1;i<=n;i++)
17     if (abs(s[i+1]-s[i])!=1) tot++;
18   return tot;
19 }
20 void dfs(int k,int cnt)
21 {int i,j;
22   int l=count();
23   if (l==0&&s[1]<s[2])
24     {ans=k;return;}
25   if (ans||k+l>cnt||k==cnt) return;
26   for (i=2;i<=n;i++)
27     {
28       if (abs(s[i]-s[i+1])==1) continue;
29       for (j=1;j<=i/2;j++)
30     {
31       swap(s[j],s[i-j+1]);
32     }
33       dfs(k+1,cnt);
34       for (j=1;j<=i/2;j++)
35     {
36       swap(s[j],s[i-j+1]);
37     }
38     }
39 }
40 int main()
41 {int i,cnt;
42   cin>>n;
43   for (i=1;i<=n;i++)
44     {
45       scanf("%d",&a[i].x);
46       a[i].id=i;
47     }
48   sort(a+1,a+n+1,cmp);
49   for (i=1;i<=n;i++)
50     s[a[i].id]=i;
51   s[n+1]=n+1;
52   cnt=0;
53   while (!ans)
54     {
55       dfs(0,cnt);
56       cnt++;
57     }
58   cout<<ans;
59 }
时间: 2024-10-07 12:15:42

[AHOI2012]铁盘整理的相关文章

洛谷 P2534 [AHOI2012]铁盘整理

P2534 [AHOI2012]铁盘整理 题目描述 输入输出格式 输入格式: 共两行.第一行为铁盘个数N(1<=N<=50),第二行为N个不同的正整数,分别为从上到下的铁盘的半径R.(1<=R<=100) 输出格式: 一个正整数,表示使铁盘从小到大有序需要的最少翻转次数. 输入输出样例 输入样例#1: 5 2 4 3 5 1 输出样例#1: 5思路:(手动滑稽!!本题输出n可得30分,(*^__^*) )IDA*的经典. #include<iostream> #incl

房贷新政银行心中有账:九折才保本七折不可能

房贷新政银行心中有账:九折才保本七折不可能 行业动态华夏时报[微博]肖君秀2014-10-11 02:26 我要分享 1 央行.银监会联手发布房贷新政,房地产刺激由此前的放松限购加码至放松限贷,市场随之沸腾. 10月10日前后,建行.工行.农行等各大银行纷纷表态支持房贷新政.然而,本报记者对多家银行进行房贷调查,“首套房贷利率七折”仅为市场一厢情愿的狂欢,银行由于资金成本压力目前根本做不到,此外二.三套松贷还需进一步确认.一面是市场兴奋过度,一面是“主角”银行冷静有余,房地产松贷救市在半推半就中

磁悬浮科技产品

[数聚酷]这些高大上的磁悬浮产品就在你身边 腾讯数码[微博]米可2015年02月03日07:00 分享 [摘要]其实悬浮技术并非特别高深的技术,除了在各种航空航天.交通运输领域应用之外,在我们的生活中其实也有它们的用武之地. 腾讯家电讯(米可)磁悬浮这个词,听起来神秘莫测,似乎是一种非常超前的技术,而我们也经常听到该技术的应用,比如磁悬浮列车等等.其实悬浮技术并非特别高深的技术,除了在各种航空航天.交通运输领域应用之外,在我们的生活中其实也有它们的用武之地. 无论是家电.可穿戴设备还是数码产品,

[经验] 系统封装常见问题大总结(非官方)

玩看 发表于 2013-6-21 20:25:22 https://www.itsk.com/thread-277947-1-1.html 哈哈,好久没来天空了,没办法,忙着应付高考,现在有空了,上来论坛瞧瞧,唬唬,原先的 XP系统封装视频教程大放送 居然因为7天内无回复而被锁帖,哎,都怪115网盘,都怪这破电信,上传速度那么慢,不然的话我就重传了.废话不多说,旧的不去新的不来,现在发布一篇新帖,当初因为看到经常有朋友问些低级问题,而这些问题天空又没有一篇较为完善的总结,为此咬咬牙,从论坛上搜集

经历了2015.6.19-7.7的股灾的一些感悟

经历了2015.6.19-7.7日的这段时间的股灾,损失很大,总觉的应该总结些什么东西写下来,以便未来能更好的警醒自己吧. 第一条感悟: 人性是贪婪的,每个人都不会嫌钱多,只会嫌钱少,所以在股市混很容易出现前期赚小钱,后面赔大钱的现象,因为赚了钱以后不仅把赚的钱再次投入市场,更可能会追加本金,这样就会导致市场回调或反转时一旦不能及时止损,亏钱的速度会十分迅速. [我自己也是中招者] 第二条感悟: 杠杆的力量是强大的,是真正能主宰市场的力量,因为它撬动了海量的资金,股票市场就是资金为王的市场,虽然

第三节——三角肌(肩)

动作一--哑铃肩外旋,前束 http://www.gotokeep.com/exercises/54af5ef25c5f72d2058c5b70 可参考keep肩部动作 4*12 动作二--器械动作,前束 类似于这个器械,旁边可以挂哑铃片 4*12 动作要点: 挺胸收肩,肩膀靠在后面,屁股不靠,小臂尽可能竖直,手腕不要弯曲 动作三--杠铃片前平举,前束 https://www.hiyd.com/dongzuo/1170/ 稍屈膝前倾, 1.站直身体,双手握住一块杠铃铁盘,握在铁盘上的3点钟和9点

关使用U盘在Dell R730服务器安装Vmware Esxi5.1.0遇到的一些问题整理

因为工作需求,公司新买了一台戴尔R730服务器需要安装esxi系统.公司也有其他戴尔服务器esxi系统的服务器,平时也有做一些简单的运维工作.在新购的戴尔服务器上esxi系统还是第一次,安装过程中当然也遇到了一些问题.整理如下给和自己同样小白的新手提供下思路. 安装系统前的准备工作,首先是将esxi5.1.0系统通过软碟通软件工具刻录到U盘,然后修改服务器BIOS启动项调整为U盘启动,接着是按照安装系统,以下是安装系统的教程: http://www.osyunwei.com/archives/6

U盘/网盘/移动硬盘中文件、资源的整理心得

当移动硬盘或者在线网盘里,文件.图片.软件.媒体等各种资源越来越多时,存放和使用它们如何能够变得更有效呢? 今天和大家分享一下我的文档/文件夹整理规则和心得,我的整理规则如要有以下几点: 关注当前 减少复杂分类,分类维度要统一 善用搜索 结束语:这样做有必要吗? 下面我以我的Dropbox中的文件同步为例,介绍一下这些规则: 一.关注当前 当前关注或者正在使用的文件,直接放到Dropbox的同步根目录. 我会当前关注或者正在使用的文件,直接放到同步网盘或者移动存储设备的根目录.这样的好处是 :

【资料整理】磁盘-增加数据盘parted

Linux系统手动格式化大于2TB数据盘操作指引 >>返回:Linux云服务器数据盘分区和格式化  1.使用fdisk –l命令,查看磁盘设备列表 fdisk –l Disk /dev/vdb: 4295.0 GB  2.使用parted工具,创建GPT分区 parted /dev/vdb (parted) mklabel gpt (parted) print (parted) mkpart primary 0 4295GB (parted) print (parted) quit 3.分区创