题意:

  给出一个排列$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】实验室外的攻防战相关推荐

  1. 【uoj#180】[UR #12]实验室外的攻防战 结论题+树状数组

    题目描述 给出两个长度为 $n$ 的排列 $A$ 和 $B$ ,如果 $A_i>A_{i+1}$ 则可以交换 $A_i$ 和 $A_{i+1}$ .问是否能将 $A$ 交换成 $B$ . 输入 ...

  2. 支付宝双11狂欢幕后的女程序员:服务全球12亿人,每天和不法分子打攻防战

    再过3天,全球最大的购物狂欢节就开始了. 在这个睡不着的午夜,无数男男女女会在闪烁的屏幕前滑屏.抢购.享受秒级付款带来的快感.整个过程大脑分泌的多巴胺,又驱使他们以更快的速度重新填满购物车. 2018 ...

  3. 转载:KOF97八神攻防战

    拳皇97八神攻防战,(一)八神狂攻 首先给大家带来一套八神的迷你攻击战术,当然这种战术也是有破绽的,那就要看你自己的速度和随机应变的战术思想了. 前小跳D(不带残影)>前小跳C(带残影)> ...

  4. 移动游戏防作弊攻防战

    在刚刚举行的MDCC活动上,乐元素CTO凌聪分享了一个非常有意思的话题:移动游戏如何进行防作弊的攻防战. 凌聪分析了作弊(主要是弱联网休闲游戏的作弊)的影响,比如改变排行榜中的全局排行与好友排行,还会 ...

  5. 设计师:设计师知识储备(硬装、软装、榻榻米、马卡龙、地台、公共空间、玄关、闭水实验)之详细攻略

    设计师:设计师知识储备(硬装.软装.榻榻米.马卡龙.地台.公共空间.玄关.闭水实验)之详细攻略 目录 设计师知识储备(硬装.软装.榻榻米.马卡龙.地台.公共空间.玄关.闭水实验) 硬装

  6. 小米互联通信服务_小米战华为,中国手机市场正上演最精彩攻防战

    提起国产手机,很多人都会想起小米与华为这两个品牌.这两家公司,是2019年国产手机品牌里唯二登上世界500强榜单的企业. 他们一个依靠互联网模式,从诞生到上市,如今不过10个年头,却在业内掀起无数波涛 ...

  7. SinoBBD 编织全方位安全“防护网”开启最强DDoS 攻防战

    近日,黑客组织"匿名者(Anonymous)"向全球超过 140 个金融机构发起了新一轮的攻击行动.此次"匿名者"发起代号为 #Opicarus2017 的攻击 ...

  8. AI反网络诈骗白皮书发布:一场人工智能与电信网络诈骗结合的攻防战

    人工智能,也就是Artificial Intelligence,简称AI,目前在电信网络诈骗中应用广泛,黑鸟听闻过的,比如通过输入一段语音,从而学习该语音主人的声音,从而实行诈骗.此外,还有AI换脸, ...

  9. 淘宝12月12日活动完成攻略

    淘宝网双十一的购物狂欢节已经结束,创下单日销售33亿的记录.但对于错过这一波,或者仍未尽兴的人们而言,对网购仍还有存在更多期待. 淘宝网市场部的陆欢透露道:淘宝12月12日活动, 淘宝双12活动由淘宝 ...

最新文章

  1. UITableView中发现的小技巧(不断更新)
  2. 神经网络到底是如何做出决策的?
  3. 事务的隔离级别演示-避免脏读,演示不可重复读发生
  4. html传输php连接mysql数据库_解析HTML、JS与PHP之间的数据传输
  5. Visual C#使用ADO.NET自定义类MyDBase连接SQL Server数据库
  6. 计算机科学导论课后单词,计算机科学导论课后总结
  7. Windows下安装scikit-learn
  8. #C++初学记录(阶乘#递归)
  9. es6 什么是async函数
  10. HTML下拉菜单为什么无线拉长,【CSS】怎么拉长一个div的高度
  11. 解决Ubuntu的root账号无法登录SSH问题-Permission denied, please try again.
  12. 以太局域网(以太网)
  13. 8: springMVC ModelAndView 作用与功能解析
  14. Annotation Processing Tool
  15. 硬软链接的区别 节点 以及重定向和管道
  16. 使用UE4基于Hololens开发MR应用
  17. 【1stopt】批处理拟合
  18. patch补丁文件格式
  19. 【优化算法】灰狼优化算法(GWO)【含Matlab源码 1305期】
  20. Ivor Horton's Beginning Visual C++ 2008

热门文章

  1. Pthread多线程编程之查看Pthread版本的方法
  2. 一个项目中能提出哪些数据库优化_如何有效进行项目集管理?
  3. 089_学习过的html标签
  4. 036_Unicode对照表二
  5. ps2020的antlib文件在哪_ant design pro 新增页面
  6. Java基础:常见对象
  7. 四章: CentOS6.5 配置连接Windows远程桌面、创建新用户、禁用root在本地或远程使用ssh登录
  8. 导向滤波python_导向滤波(Guided Filter)简要介绍
  9. linux系统python截图不显示中文_Linux运维知识之解决linux系统下python中的matplotlib模块内的pyplot输出图片不能显示中文的问题...
  10. mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置