Solution

按照 \(p[i]\) 进行分段,如果某个 \(k\) 不存在 \(p[i]=k\),那么就把 \(i,i+1\) 分割开

处理出每一段的左端点和右端点

进而处理出每段的最小值和最大值

如果存在第 \(i\) 段的最大值大于第 \(i+1\) 段的最小值,就输出 NO

#include <bits/stdc++.h>
using namespace std; #define reset(x) memset(x,0,sizeof x) const int N = 1005;
int T,n,m,a[N],p[N],b[N],l[N],r[N],mx[N],mn[N]; signed main() {
cin>>T;
while(T--) {
reset(a); reset(p); reset(b);
reset(r); reset(l);
reset(mx); reset(mn);
cin>>n>>m;
for(int i=1;i<=n;i++) {
cin>>a[i];
}
for(int i=1;i<=m;i++) {
cin>>p[i];
b[p[i]]=1;
}
int ind=1;
l[1]=1;
for(int i=1;i<=n;i++) {
if(b[i]==0) r[ind]=i, l[++ind]=i+1;
}
--ind;
for(int i=1;i<=ind;i++) {
mx[i]=0; mn[i]=1e9;
for(int j=l[i];j<=r[i];j++) {
mx[i]=max(mx[i],a[j]);
mn[i]=min(mn[i],a[j]);
}
}
int flag=1;
for(int i=1;i<ind;i++) {
if(mx[i]>mn[i+1]) flag=0;
}
if(flag) puts("YES");
else puts("NO");
}
}

[CF1311B] WeirdSort的更多相关文章

  1. Codeforces Round #624 (Div. 3) B. WeirdSort(排序)

    output standard output You are given an array aa of length nn . You are also given a set of distinct ...

  2. Codeforce1311B. WeirdSort (冒泡排序)

    You are given an array a of length n. You are also given a set of distinct positions p1,p2,-,pm, whe ...

  3. Codeforces Round #624 (Div. 3)(题解)

    Codeforces Round #624 (Div.3) 题目地址:https://codeforces.ml/contest/1311 B题:WeirdSort 题意:给出含有n个元素的数组a,和 ...

  4. Codeforces Round #624 (Div. 3)(题解)

    A. Add Odd or Subtract Even 思路: 相同直接为0,如果两数相差为偶数就为2,奇数就为1 #include<iostream> #include<algor ...

随机推荐

  1. Docker底层架构之网络实现

    前言 Docker 的网络实现其实就是利用了 Linux 上的网络命名空间和虚拟网络设备(特别是 vethpair). 基本原理 首先,要实现网络通信,机器需要至少一个网络接口(物理接口或虚拟接口)来 ...

  2. 解决AS加载gradle时出现的Could not find com.android.tools.build:gradle:3.5.0.的错误

    时间:2019/12/7 最近在做安卓大作业时总是遇到从GitHub上下载下来的demo不能在本地Android studio中运行的问题,感觉真的被安卓中的各种版本给恶心到了,下面记录其中比较典型的 ...

  3. 娱乐往事,年初捡到1G PAR,平淡的日子泛起波澜

    常听说这样的故事 垃圾佬捡到蓝牙键盘,于是配了一台上万的电脑 垃圾佬捡到机箱,于是配了一台带遥控的HTPC 垃圾佬捡到假NAS,于是组了20+T的RAID 而我,不是垃圾佬,更没有捡到过U盘,对突如其 ...

  4. 关于java String类的getBytes(String charsetName)和String(byte[] bytes, String charsetName)

    public byte[] getBytes(Charset charset) Encodes this String into a sequence of bytes using the given ...

  5. selenium pyunit单元测试框架

    selenium pyunit单元测试框架 #PyUnit框架 #coding = utf - 8 #将要被测试的类 class Widget: def __int__(self,size = (40 ...

  6. (三)(2)wait/notify实现生产者-消费者模型,join方法

    生产者,消费者模型 举个例子来说明,厨师,服务员,厨师做菜,服务员上菜,如果厨师没有做好菜,那么服务员就无法上菜,厨师做好了菜,然后通知服务员消费(上菜).在这个过程之中,厨师扮演的就是生产者,服务员 ...

  7. Mysql 5.7.18:主从复制,io优化

    #目录 #挂盘#时间同步#master节点,进行如下操作: #下载安装 #初始化 #配置文件 #开机启动 #服务启动 #初始数据库#slave节点,进行如下操作: #下载安装 #初始化 #配置文件 # ...

  8. Mysql索引优化简单介绍

    一.关于MySQL联合索引 总结记录一下关于在MySQL中使用联合索引的注意事项. 如:索引包含表中每一行的last_name.first_name和dob列,即key(last_name, firs ...

  9. SQL基础语法—update语句

    1 update语句介绍 update语句用来修改表中的数据内容 Single-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_reference ...

  10. Spring Boot集群管理工具KafkaAdminClient

    能与原理介绍 在Kafka官网中这么描述AdminClient:The AdminClient API supports managing and inspecting topics, brokers ...