UOJ【UR #12】实验室外的攻防战
题意:
给出一个排列$A$,问是否能够经过以下若干次变换变为排列$B$
变换:若${A_i> A_i+1}$,可以${swap(A_i,A_i+1)}$
考虑一个数字从A排列到B排列连出来的路径与其他数字是否相交,相交就表示大小关系需要判断,(类似于二维偏序)用线段树维护区间最小值即可。
权值为1,2的线分别与权值为4的线相交,而且4在它们左边,所以需要判断它们的大小关系,发现${4>1}$,${4>2}$,所以满足条件。
1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<vector> 5 #include<cstdlib> 6 #include<cmath> 7 #include<cstring> 8 using namespace std; 9 #define maxn 20000010 10 #define MAXN 2000100 11 #define llg int 12 #define inf 0x7fffffff 13 #define yyj(a) freopen(a".in","r",stdin),freopen(a".out","w",stdout); 14 llg n,m,minl[maxn],a[MAXN],c[MAXN],rank[MAXN]; 15 16 llg min_(llg o,llg l,llg r,llg L,llg R) 17 { 18 if (l>=L && r<=R) 19 { 20 return minl[o]; 21 } 22 llg lc=o<<1,rc=o<<1|1,mid=(l+r)>>1; 23 llg ans=inf; 24 if (L<=mid) ans=min(ans,min_(lc,l,mid,L,R)); 25 if (R>mid) ans=min(ans,min_(rc,mid+1,r,L,R)); 26 return ans; 27 } 28 29 void add(llg o,llg l,llg r,llg wz,llg val) 30 { 31 if (l==r) 32 { 33 minl[o]=val; 34 return ; 35 } 36 llg lc=o<<1,rc=o<<1|1,mid=(l+r)>>1; 37 if (wz<=mid) add(lc,l,mid,wz,val); 38 if (wz>mid) add(rc,mid+1,r,wz,val); 39 minl[o]=min(minl[lc],minl[rc]); 40 } 41 inline int getint() 42 { 43 int w=0,q=0; 44 char c=getchar(); 45 while((c<'0' || c>'9') && c!='-') c=getchar(); 46 if (c=='-') q=1, c=getchar(); 47 while (c>='0' && c<='9') w=w*10+c-'0', c=getchar(); 48 return q ? -w : w; 49 } 50 int main() 51 { 52 //yyj("C"); 53 cin>>n; 54 for (llg i=1;i<=n;i++) a[i]=getint(); 55 for (llg i=1;i<=n;i++) c[i]=getint(); 56 for (llg i=1;i<=n;i++) rank[c[i]]=i; 57 for (llg i=1;i<=20000000;i++) minl[i]=inf; 58 for (llg i=1;i<=n;i++) 59 { 60 llg x=rank[a[i]]; 61 llg v=min_(1,1,n,x,n); 62 if (a[i]>v) {cout<<"NO"; return 0;} 63 add(1,1,n,x,a[i]); 64 } 65 cout<<"YES"; 66 return 0; 67 }
转载于:https://www.cnblogs.com/Dragon-Light/p/6376947.html
UOJ【UR #12】实验室外的攻防战相关推荐
- 【uoj#180】[UR #12]实验室外的攻防战 结论题+树状数组
题目描述 给出两个长度为 $n$ 的排列 $A$ 和 $B$ ,如果 $A_i>A_{i+1}$ 则可以交换 $A_i$ 和 $A_{i+1}$ .问是否能将 $A$ 交换成 $B$ . 输入 ...
- 支付宝双11狂欢幕后的女程序员:服务全球12亿人,每天和不法分子打攻防战
再过3天,全球最大的购物狂欢节就开始了. 在这个睡不着的午夜,无数男男女女会在闪烁的屏幕前滑屏.抢购.享受秒级付款带来的快感.整个过程大脑分泌的多巴胺,又驱使他们以更快的速度重新填满购物车. 2018 ...
- 转载:KOF97八神攻防战
拳皇97八神攻防战,(一)八神狂攻 首先给大家带来一套八神的迷你攻击战术,当然这种战术也是有破绽的,那就要看你自己的速度和随机应变的战术思想了. 前小跳D(不带残影)>前小跳C(带残影)> ...
- 移动游戏防作弊攻防战
在刚刚举行的MDCC活动上,乐元素CTO凌聪分享了一个非常有意思的话题:移动游戏如何进行防作弊的攻防战. 凌聪分析了作弊(主要是弱联网休闲游戏的作弊)的影响,比如改变排行榜中的全局排行与好友排行,还会 ...
- 设计师:设计师知识储备(硬装、软装、榻榻米、马卡龙、地台、公共空间、玄关、闭水实验)之详细攻略
设计师:设计师知识储备(硬装.软装.榻榻米.马卡龙.地台.公共空间.玄关.闭水实验)之详细攻略 目录 设计师知识储备(硬装.软装.榻榻米.马卡龙.地台.公共空间.玄关.闭水实验) 硬装
- 小米互联通信服务_小米战华为,中国手机市场正上演最精彩攻防战
提起国产手机,很多人都会想起小米与华为这两个品牌.这两家公司,是2019年国产手机品牌里唯二登上世界500强榜单的企业. 他们一个依靠互联网模式,从诞生到上市,如今不过10个年头,却在业内掀起无数波涛 ...
- SinoBBD 编织全方位安全“防护网”开启最强DDoS 攻防战
近日,黑客组织"匿名者(Anonymous)"向全球超过 140 个金融机构发起了新一轮的攻击行动.此次"匿名者"发起代号为 #Opicarus2017 的攻击 ...
- AI反网络诈骗白皮书发布:一场人工智能与电信网络诈骗结合的攻防战
人工智能,也就是Artificial Intelligence,简称AI,目前在电信网络诈骗中应用广泛,黑鸟听闻过的,比如通过输入一段语音,从而学习该语音主人的声音,从而实行诈骗.此外,还有AI换脸, ...
- 淘宝12月12日活动完成攻略
淘宝网双十一的购物狂欢节已经结束,创下单日销售33亿的记录.但对于错过这一波,或者仍未尽兴的人们而言,对网购仍还有存在更多期待. 淘宝网市场部的陆欢透露道:淘宝12月12日活动, 淘宝双12活动由淘宝 ...
最新文章
- UITableView中发现的小技巧(不断更新)
- 神经网络到底是如何做出决策的?
- 事务的隔离级别演示-避免脏读,演示不可重复读发生
- html传输php连接mysql数据库_解析HTML、JS与PHP之间的数据传输
- Visual C#使用ADO.NET自定义类MyDBase连接SQL Server数据库
- 计算机科学导论课后单词,计算机科学导论课后总结
- Windows下安装scikit-learn
- #C++初学记录(阶乘#递归)
- es6 什么是async函数
- HTML下拉菜单为什么无线拉长,【CSS】怎么拉长一个div的高度
- 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
- 以太局域网(以太网)
- 8: springMVC ModelAndView 作用与功能解析
- Annotation Processing Tool
- 硬软链接的区别 节点 以及重定向和管道
- 使用UE4基于Hololens开发MR应用
- 【1stopt】批处理拟合
- patch补丁文件格式
- 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】
- Ivor Horton's Beginning Visual C++ 2008
热门文章
- Pthread多线程编程之查看Pthread版本的方法
- 一个项目中能提出哪些数据库优化_如何有效进行项目集管理?
- 089_学习过的html标签
- 036_Unicode对照表二
- ps2020的antlib文件在哪_ant design pro 新增页面
- Java基础:常见对象
- 四章: CentOS6.5 配置连接Windows远程桌面、创建新用户、禁用root在本地或远程使用ssh登录
- 导向滤波python_导向滤波(Guided Filter)简要介绍
- linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...
- mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置