https://www.lydsy.com/JudgeOnline/problem.php?id=5449

话说很早以前做过。。算是IDA*的板子吧,一个简单的估价函数就可以过去了

 %:pragma GCC optimize()
#include<cstdio>
#include<algorithm>
using namespace std;
int a[],n,maxd,T;
bool fl;
inline bool check()
{
for(int i=;i<n;++i)
if(a[i]>a[i+])
return ;
return ;
}
//reverse一次,相邻两数绝对值之差大于1的最多减少1个,
//因此相邻两数绝对值之差大于1的个数一定小于等于所需reverse次数
inline int hh()
{
int cnt=;
for(int i=;i<n;++i)
if(abs(a[i+]-a[i])>)
cnt++;
return cnt;
}
inline void reverse1(const int& r)
{
int i,t;
for(i=;i<=r/;++i)
{
t=a[i];a[i]=a[r-i+];a[r-i+]=t;
}
}
void dfs(int x,int last)
{
if(fl) return;
if(x==maxd)
{
if(check()) fl=;
return;
}
if(x+hh()>maxd) return;
for(int i=;i<=n;++i)
if(i!=last)
{
reverse(a+,a+i+);
dfs(x+,i);
reverse(a+,a+i+);
}
}
int main()
{
int i;
scanf("%d",&T);
while(T--)
{
fl=;
scanf("%d",&n);
for(i=;i<=n;++i)
scanf("%d",&a[i]);
for(maxd=;maxd<=;++maxd)
{
dfs(,);
if(fl) break;
}
printf("%d\n",maxd);
}
return ;
}

此题http://210.33.19.103/contest/823/problem/2(序列)同以上题


upd20190222:

根据网上一些高分程序优化了一下估价函数和代码...

 %:pragma GCC optimize()
#include<cstdio>
#include<algorithm>
using namespace std;
int a[],n,maxd,T;
bool fl;
inline int abs1(int x){return x>?x:-x;}
inline int hh()
{
int cnt=(a[n]!=n);
for(int i=;i<n;++i)
if(abs1(a[i+]-a[i])>)
++cnt;
return cnt;
}
void dfs(int x,int last)
{
int h=hh();
if(!h) {fl=;return;}
if(x+h>maxd) return;
for(int i=;i<=n;++i)
if(i!=last)
{
reverse(a+,a+i+);
dfs(x+,i);
if(fl) return;
reverse(a+,a+i+);
}
}
int main()
{
int i;
scanf("%d",&T);
while(T--)
{
fl=;
scanf("%d",&n);
for(i=;i<=n;++i)
scanf("%d",&a[i]);
for(maxd=;maxd<=;++maxd)
{
dfs(,);
if(fl) break;
}
printf("%d\n",maxd);
}
return ;
}

bzoj 5449 序列的更多相关文章

  1. BZOJ 1251 序列终结者(Splay)

    题目大意 网上有许多题,就是给定一个序列,要你支持几种操作:A.B.C.D.一看另一道题,又是一个序列要支持几种操作:D.C.B.A.尤其是我们这里的某人,出模拟试题,居然还出了一道这样的,真是没技术 ...

  2. [bzoj]2962序列操作

    [bzoj]2962序列操作 标签: 线段树 题目链接 题意 给你一串序列,要你维护三个操作: 1.区间加法 2.区间取相反数 3.区间内任意选k个数相乘的积 题解 第三个操作看起来一脸懵逼啊. 其实 ...

  3. bzoj 1858 序列操作

    bzoj 1858 序列操作 带有随机多个区间单值覆盖的区间操作题,可考虑用珂朵莉树解决. #include<bits/stdc++.h> using namespace std; #de ...

  4. bzoj 1283 序列 - 费用流

    题目传送门 传送门 题目大意 给定一个长度为$n$的序列,要求选出一些数使得原序列中每$m$个连续的数中不超过$K$个被选走.问最大的可能的和. 感觉建图好妙啊.. 考虑把问题转化成选$m$次数,每次 ...

  5. BZOJ 1251: 序列终结者 [splay]

    1251: 序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 3778  Solved: 1583[Submit][Status][Discu ...

  6. BZOJ 1251: 序列终结者

    1251: 序列终结者 Time Limit: 20 Sec  Memory Limit: 162 MB Submit: 3773  Solved: 1579 [Submit][Status][Dis ...

  7. Bzoj 4403: 序列统计 Lucas定理,组合数学,数论

    4403: 序列统计 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 328  Solved: 162[Submit][Status][Discuss] ...

  8. bzoj 维护序列seq(双标记线段树)

    Seq 维护序列seq Time Limit: 30 Sec  Memory Limit: 64 MBSubmit: 4184  Solved: 1518[Submit][Status][Discus ...

  9. bzoj 2962 序列操作

    2962: 序列操作 Time Limit: 50 Sec  Memory Limit: 256 MB[Submit][Status][Discuss] Description 有一个长度为n的序列, ...

随机推荐

  1. poj2773 —— 二分 + 容斥原理 + 唯一分解定理

    题目链接:http://poj.org/problem?id=2773 Happy 2006 Time Limit: 3000MS   Memory Limit: 65536K Total Submi ...

  2. 基于BASYS2的VHDL程序与烧写——按键消抖程序

    请尊重作者版权,转载请注明源地址http://www.cnblogs.com/connorzx/p/3548364.html 按键在按下的过程中通常会产生一段时间的抖动,为了消除这种抖动,一般采取两种 ...

  3. php filter 安全过滤函数

    转自:http://www.blags.org/archives/741.html php 利用filter 扩展编写的参数处理静态类,欢迎使用.希望大家看得开心,用得放心. <?php /** ...

  4. cowboy中分布式节点通信

    项目开发中,web前端节点需要与远端的聊天服节点通信.聊天服使用了otp,但我对otp下的分布式通信不太清楚,造成了一些问题. 1)首先是cowboy节点的命名.具体参数是配置在工程目录rel下的vm ...

  5. CISCO-从路由器上下载IOS

    准备工作:一台装有TFTP服务器的PC,一台带有IOS的路由器,并用网线连接上 设置路由器接口和计算机网卡的IP地址在同一网段,并且互相能ping通. 1,安装Cisco TFTP Server 2, ...

  6. BZOJ_3781_小B的询问_莫队

    BZOJ_3781_小B的询问_莫队 Description 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值 ...

  7. Watir 简化日常工作实例

    公司的官方主页要优化搜索任务,一共有110个独立页面,开发工程师做了以下工作:1. 为所有这些页面的每个图片添加了alt:2. 为页面上的每个标题添加了面包屑:3. 为网站最重要的标题设置H1标签,而 ...

  8. Console Event Handling

    http://www.codeproject.com/Articles/2357/Console-Event-Handling Console Event Handling Kumar Gaurav ...

  9. 爬取动态网页:Selenium

    参考:http://blog.csdn.net/wgyscsf/article/details/53454910 概述 在爬虫过程中,一般情况下都是直接解析html源码进行分析解析即可.但是,有一种情 ...

  10. 技术胖Flutter第三季-14布局RowWidget的详细讲解

    flutter总的地址: https://jspang.com/page/freeVideo.html 视频地址: https://www.bilibili.com/video/av35800108/ ...