【牛客 - 317G】小a的排列(模拟,构造)

题干:
 

小a有一个长度为nn的排列。定义一段区间是"萌"的,当且仅当把区间中各个数排序后相邻元素的差为11
现在他想知道包含数x,yx,y的长度最小的"萌"区间的左右端点

也就是说,我们需要找到长度最小的区间[l,r][l,r],满足区间[l,r][l,r]是"萌"的,且同时包含数xx和数yy

如果有多个合法的区间,输出左端点最靠左的方案。

 

 

输入描述:

第一行三个整数N,x,yN,x,y,分别表示序列长度,询问的两个数
第二行有nn个整数表示序列内的元素,保证输入为一个排列

输出描述:

输出两个整数,表示长度最小"萌"区间的左右端点

示例1

输入

复制

5 2 3
5 2 1 3 4

输出

复制

2 4

说明

区间[2,4]={2,1,3}[2,4]={2,1,3}包含了2,32,3且为“萌”区间,可以证明没有比这更优的方案

示例2

输入

复制

8 3 5
6 7 1 8 5 2 4 3

输出

复制

5 8

备注:

保证2⩽n⩽105,1⩽x,y⩽n

 

解题报告:

    这题首先可以证明合法的区间是唯一的,并不存在题中说的多个合法区间。然后某个区间是我们需要的 当且仅当  这个区间的长度 == 这段区间内最大值和最小值的差,也就是maxx -  minn == r - l。如果不满足,那就要将区间往外扩张,扩张到哪呢?当然是这些数中出现的最左端的和最右端的。同时可以证明这样循环最终一定有界(也就是一定是收敛的),因为最差情况就是扩展到整个区间,一定满足条件呗。这样一步步模拟最终得出答案。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
#define fi first
#define se second
using namespace std;
const int MAX = 2e5 + 6;
const int INF = 0x3f3f3f3f;
int a[MAX],pos[MAX];
int main() {int n,x,y;cin>>n>>x>>y;for(int i = 1; i<=n; i++) {scanf("%d",a+i);pos[a[i]] = i;}int l = pos[x],r = pos[y];int maxx = -INF,minn = INF;if(l>r) swap(l,r);for(int i = l; i<=r; i++) minn = min(minn,a[i]),maxx = max(maxx,a[i]);while(r-l != maxx - minn) {for(int i = l; i<=r; i++) minn = min(minn,a[i]),maxx = max(maxx,a[i]);for(int i = minn; i<=maxx; i++) l = min(l,pos[i]),r = max(r,pos[i]);	}printf("%d %d\n",l,r);return 0 ;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/440904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么看联想计算机的ip,如何查看本机ip

ip地址是我们连上互联网的凭证&#xff0c;每台能连上互联网的电脑都会分配有一个ip地址。每台电脑的IP地址都不唯一&#xff0c;并且从我们主机的IP地址上可以看出我们电脑连上互联网的所在位置与地区&#xff0c;就像我们生活中的门牌号码一样。很多朋友还不知道本机ip怎么查…

当前元素_前端系列——获取页面中的DOM元素

这里就聊一下获取页面中DOM元素最基本的两种方法&#xff1a;document.getElementById.在整个页面中通过元素的Id属性值来获取到这个元素对象&#xff0c;getElementById是获取元素的方法&#xff0c;而document是获取元素的范围&#xff0c;我们也将此范围称为“上下文”。注意…

东华大学计算机年薪,东华大学公布应届毕业生薪酬:本科生月薪中位数6637元...

岁末年初&#xff0c;国内多所名校陆续发布了2020届毕业生就业质量报告&#xff0c;各校毕业生的平均薪酬也随之公布。澎湃新闻(www.thepaper.cn)注意到&#xff0c;由教育部直属的新中国第一所纺织高等学府东华大学也于近日公布了本校毕业生的平均薪酬状况。1月4日&#xff0c…

【牛客 - 330C】Applese 走迷宫(bfs)

题干&#xff1a; 精通程序设计的 Applese 双写了一个游戏。 在这个游戏中&#xff0c;它被困在了一个 nmnm 的迷宫中&#xff0c;它想要逃出这个迷宫。 在迷宫中&#xff0c;有一些方格是水池&#xff0c;只有当 Applese 处于水属性的时候才可以通过&#xff1b;有一些方格是岩…

怎么做蒙特卡洛计算npv_PowerBI非标准日历下的同比环比计算,你知道怎么做吗?...

​对于按照自然年月日来分析的业务数据&#xff0c;在PowerBI中可以轻松的使用时间智能函数来进行各种时间指标的计算&#xff0c;但如果不是按标准的日历&#xff0c;很多人就开始有点懵&#xff0c;不知道该如何计算了。比如有的公司的业务月份是从26号到下个月的25号&#x…

pvz安卓服务器维修礼包码,植物大战僵尸2礼包兑换码大全2020最新版

植物大战僵尸2礼包码2020最新版是一款能够让玩家体验烧脑塔防大战的放置游戏&#xff0c;拥有经典的游戏规则设计&#xff0c;带来的玩法也会让每个玩家体验最为精彩的体验&#xff0c;每个僵尸都有着自己的特性&#xff0c;游戏之中的每一种植物都有自己的战斗方式&#xff0c…

【牛客 - 330F】Applese 的QQ群(拓扑排序,二分)

题干&#xff1a; Applese 有一个QQ群。在这个群中&#xff0c;大家互相请教问题。如 b 向 a 请教过问题&#xff0c;就把 a 叫做是 b 的"老板"。这样一个群中就会有很多老板。 同时规定&#xff1a;如果 a 是 b 的老板&#xff0c;b 是 c 的老板&#xff0c;那么…

安卓用于组件传递参数的对象是_入门篇:7.组件2:Android Service-service的数据传递与通信...

(由于对java的回调机制和线程理解的不够透彻&#xff0c;所以这块内容我理解了好久&#xff0c;尤其是绑定服务传递数据&#xff0c;一句一句写一句一句看&#xff0c;对我来说挺难理解的。以后还要多看几遍&#xff0d;&#xff0d;&#xff01;)既然单纯的启动或跳转activity…

【牛客 - 330G】Applese 的毒气炸弹(最小生成树,构造,判连通图)

题干&#xff1a; 众所周知&#xff0c;Applese 是个很强的选手&#xff0c;它的化学一定很好。 今天他又AK了一套题觉得很无聊&#xff0c;于是想做个毒气炸弹玩。 毒气炸弹需要 k 种不同类型元素构成&#xff0c;Applese一共有 n 瓶含有这些元素的试剂。 已知元素混合遵循…

服务器风扇一直高速转系统起不来,【案例】别克君越风扇启动后一直高速常转 维修案例...

故障诊断启动车辆&#xff0c;冷车时风扇正常&#xff0c;当温度达到正常温度后&#xff0c;节温器打开风扇一直常转&#xff0c;客户描述的问题存在。目测检查发动机外观状态&#xff1a;无漏油、无移位、部件连接无松动、电气插头安装牢固、无异味、无过热现象&#xff0c;都…

添加一列_Joom平台CSV文件如何添加产品?CSV文件添加产品流程一览

CSV文件添加产品在添加产品及变型以前&#xff0c;请先了解产品的CSV文件介绍以及产品变型要求。CSV添加产品CSV文件中的一行对应一个产品变型。卖家想为产品添加变型的话&#xff0c;需要在表格里新添一行或多行信息。——列表第一行是产品基本信息及产品本身的信息。卖家需要…

【牛客 -330E 】Applese 涂颜色(费马小定理,超级快速幂)

题干&#xff1a; 精通程序设计的 Applese 叕写了一个游戏。 在这个游戏中&#xff0c;有一个 n 行 m 列的方阵。现在它要为这个方阵涂上黑白两种颜色。规定左右相邻两格的颜色不能相同。请你帮它统计一下有多少种涂色的方法。由于答案很大&#xff0c;你需要将答案对 10971…

四元数乘法_JPL四元数和Hamilton四元数的区别

四元数的定义&#xff1a; 1.顺序JPL: 实部在后 , Hamilton: 实部在前 , 2.坐标系JPL: 左手坐标系 Hamilton: 右手坐标系 3.坐标系的转换方向JPL: global-to-local 世界坐标系 --> 局部坐标系 , Hamilton: local-to-global 局部坐标系 --> 世界坐标系 , 4.四元数与旋…

【牛客 - 330I】Applese 的回文串(结论题,类似编辑距离,dp)

题干&#xff1a; 自从 Applese 学会了字符串之后&#xff0c;精通各种字符串算法&#xff0c;比如……判断一个字符串是不是回文串。 这样的题目未免让它觉得太无聊&#xff0c;于是它想到了一个新的问题。 如何判断一个字符串在任意位置(包括最前面和最后面)插入一个字符后…

【POJ - 2752】Seek the Name, Seek the Fame (KMP,公共前缀后缀长度及个数)

题干&#xff1a; The little cat is so famous, that many couples tramp over hill and dale to Byteland, and asked the little cat to give names to their newly-born babies. They seek the name, and at the same time seek the fame. In order to escape from such b…

编码方式_【每日一题】| 常见的编码方式之栅栏密码

CTF_密码学栅栏密码点击上方蓝字 发现更多精彩01简介栅栏密码(Rail-fence Cipher)就是把要加密的明文分成N个字一组&#xff0c;然后把每组的第1个字符组合&#xff0c;每组第2个字符组合…每组的第N(最后一个分组可能不足N个)个字符组合&#xff0c;最后把他们全部连接起来就是…

edp和edt哪个好_香水edp和edt是什么意思

香水adp和edt代表的是浓香水和淡香水&#xff0c;它们标识香水的持久度和浓度。每款香水都会给出这些相对应的参数。这些也代表的是水、酒精以及精油的比例。香水edp和edt是什么意思edp、edt以及parfum代表的都是香水的参数&#xff0c;edp和edt香水的浓度要稍微低一点&#xf…

【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)

题干&#xff1a; CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, without any surprise, there are only 99.9 yuan left. he is too distressed and thinking about how to tide over the last days. Being inspir…

【POJ - 1961】Period(KMP,循环节问题)

题干&#xff1a; For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 < i < N) we want to know the lar…

linux tomcat守护_linux下非root用户运行tomcat

# 前言&#xff1a;为什么要使用非root用户运行tomcatroot用户启动tomcat有一个严重的问题&#xff0c;那就是tomcat具有root权限。这意味着你的任何一个页面脚本(html/js)都具有root权限&#xff0c;所以可以轻易地用页面脚本 修改整个硬盘里的文件&#xff01;所以最好不要使…