UOJ 180【UR #12】实验室外的攻防战
http://uoj.ac/contest/25/problem/180
从前往后对比串A,B
当$A_i,B_i$不相同时找到$B_i$在A中的位置j
若$min{A_1,A_2,A_3......A_{j-1}}<A_j$说明$A_j$无法交换到位置i,就GG惹
否则把$A_j$设为INF
线段树维护区间取min,单点修改
#include<cstdio> #include<iostream> #include<algorithm> using std::cin; using std::cout; using std::min; using std::max; #define INF 0x7fffffff const int maxn = 100007; int n; inline int read() {int x=0,f=1;char c=getchar();while(c<'0'||c>'9') {if(c=='-')f=-1;c=getchar() ;}while(c<='9'&&c>='0')x=x*10+c-'0',c=getchar();return x*f; } int a[maxn],b[maxn]; int pos[maxn]; int minn[(maxn<<2)+3] ; void merge(int rt) {minn[rt]=min(minn[rt<<1],minn[rt<<1|1]); } void build(int l,int r,int rt) {if(l==r) {minn[rt]=a[l];return;}int mid = l+r>>1;build(l,mid,rt<<1);build(mid+1,r,rt<<1|1);merge(rt); } int query(int l,int r,int rt,int tl,int tr) {if(tl<=l&&tr>=r) { return minn[rt];}int mid=l+r>>1;int ans=INF;if(tl<=mid) ans=min(ans,query(l,mid,rt<<1,tl,tr));if(tr>mid) ans=min(ans,query(mid+1,r,rt<<1|1,tl,tr));return ans; } void modify(int l,int r,int rt,int pos) {if(l==r) {minn[rt]=INF;return;}int mid= l+r>>1;if(mid>=pos)modify(l,mid,rt<<1,pos);else if(mid<pos)modify(mid+1,r,rt<<1|1,pos);merge(rt); } int main() {n=read();for(int i=1;i<=n;++i) a[i]=read(),pos[a[i]]=i;for(int i=1;i<=n;++i) b[i]=read();build(1,n,1);for(int i=1;i<=n;++i) {//if(a[i]!=b[i]) {int p=pos[b[i]];int tmp=query(1,n,1,1,p);if(tmp<b[i]) {cout<<"NO"<<std::endl;return 0;}else modify(1,n,1,p);// } }cout<<"YES"<<std::endl;return 0; }
转载于:https://www.cnblogs.com/sssy/p/8322091.html
UOJ 180【UR #12】实验室外的攻防战相关推荐
- UOJ【UR #12】实验室外的攻防战
题意: 给出一个排列$A$,问是否能够经过以下若干次变换变为排列$B$ 变换:若${A_i> A_i+1}$,可以${swap(A_i,A_i+1)}$ 考虑一个数字从A排列到B排列连出来的路径 ...
- 【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 的攻击 ...
- 淘宝12月12日活动完成攻略
淘宝网双十一的购物狂欢节已经结束,创下单日销售33亿的记录.但对于错过这一波,或者仍未尽兴的人们而言,对网购仍还有存在更多期待. 淘宝网市场部的陆欢透露道:淘宝12月12日活动, 淘宝双12活动由淘宝 ...
- 低代码指南100解决方案:38致商家:2021年双12销售订单管理攻略来了
超长双11落下帷幕后,双12又全面开启,面对正在涌入的大量订单,商家们,你们的订单管理做到位了吗? 销售订单管理对一家企业来说至关重要,如果企业无法井然有序的管控好货品销售订单,会面临诸多问题: 1. ...
最新文章
- 基于ONOS的T-SDN Super控制器
- 建议被降级降薪员工主动辞职?网友炸了!
- 搭建 mysql-mmm 高可用群集
- python界面长什么样图片_python界面是什么样的
- Transformer10个重要问题
- VS2010下如何改变Button颜色、背景、边框
- C#+HtmlAgilityPack+Dapper走一波爬虫
- 1004. Counting Leaves (30)
- NFS环境搭建测试 保证挂载重启后不丢失
- Thymeleaf 的使用
- sap采购申请自动转采购订单_SAP idoc功能够强大: 采购订单修改自动触发销售订单修改...
- MacOSX 下.app支持同时运行多个实例
- 【趣闻】清华大学大一的英文原版线性代数教材里居然出现了Python
- python-docx库读写word文档
- 从上海租房之旅得到的感悟
- Phoenix错误信息: Malformed connection url
- P4147 玉蟾宫 题解
- Nginx的简单使用,配置多前端,多端口【微信小程序+前后端分离跨域解决】
- JAVA中文本字符反写
- Hadoop实战(二) 搭建Hadoop集群
热门文章
- 如何让laravel框架下出现vender文件夹
- jsp怎样写一个Button onclick事件
- android 顶部弹窗,android显示通知,并在任何应用程序顶部弹出
- 创建型模式-建造者模式
- Jikes 研究虚拟机(RVM)一 设计和实现问题
- excel熵值法计算权重_一文讲清楚分散投资(下)——让很多人顿悟的“熵增定律”在投资中的应用...
- linux桌面只运行浏览器,4个Linux桌面上的轻量级图像浏览器
- rdt不同版本(rdt1.0,rdt2.0,rdt2.1,rdt2.2,rdt3.0)协议的特点以及发送端接收端的FSM
- 使用java代码打印三角形、平行四边形、菱形
- 紧急通知发布解决方案(互亿无线)