首页 > 其他分享 >Technocup 2022 - Elimination Round 2 Two Arrays

Technocup 2022 - Elimination Round 2 Two Arrays

时间:2023-09-26 17:22:32浏览次数:39  
标签:std 数组 Arrays cdots Two leq int 2022

给定两个数组 \(a_1, a_2, \cdots, a_n\) 和 \(b_1, b_2, \cdots, b_n\) 。

定义 \(a\) 的一次操作:

  • 选择任意一个非负整数 \(k(0 \leq k \leq n)\) 。
  • 选择任意 \(k\) 个独立的下标 \(i_1 \leq i_2 \leq \cdots \leq i_k \leq n\) 。
  • 对 \(a_{i_1}, a_{i_2}, \cdots, a_{i_k}\) 加 \(1\) 。
  • 以任意顺序重排 \(a\) 数组。

询问 \(a\) 能否经过严格一次操作后得到 \(b\) 。

不妨让 \(b\) 有序,则 \(a\) 经过操作后,可以得到有序的 \(b\) 对若干个位置 \(-1\) 。

对相同的 \(b_i, b_j\) ,让 \(-1\) 的操作尽可能往左,则得到的新数组 \(c\) 也有序。如果 \(a\) 可以得到 \(b\) ,则 \(c\) 可以为 \(a\) 。

于是对 \(a\) \(b\) 排序,若 \(0 \leq b_i - a_i \leq 1\) ,则 \(a\) 可以得到 \(b\) 。

view
#include <bits/stdc++.h>
void solve() {
	int n; std::cin >> n;
	std::vector<int> a(n+1), b(n+1);
	for (int i = 1; i <= n; i++) std::cin >> a[i];
	for (int i = 1; i <= n; i++) std::cin >> b[i];
	std::sort(a.begin() + 1, a.end());
	std::sort(b.begin() + 1, b.end());
	int ok = 1;
	for (int i = 1; i <= n; i++) ok &= (b[i] - a[i] == 0 || b[i] - a[i] == 1);
	std::cout << (ok ? "YES" : "NO") << "\n";
}
signed main() {
	int _ = 1; std::cin >> _;
	while (_--) solve();
	return 0;
}

标签:std,数组,Arrays,cdots,Two,leq,int,2022
From: https://www.cnblogs.com/zsxuan/p/17730640.html

相关文章

  • Technocup 2022 - Elimination Round 3 B. Array Eversion
    给一个长度为\(n\)的数组。执行一次以下操作:让\(x=a_n\),然后数组\(a\)被分为左右两部分。左部分包含所有\(\leqx\)的元素,右部分包含所有\(>x\)的元素。且数组整体的原顺序不变。询问经过多少次操作后,数组不再改变?\(1\leqn\leq2\cdot10^5,1\leqa_i\le......
  • thinkphp lang命令执行--struts2 代码执行--(QVD-2022-46174)&&(CVE-2020-17530)&&(CV
    thinkphplang命令执行--struts2代码执行--(QVD-2022-46174)&&(CVE-2020-17530)&&(CVE-2021-31805)thinkphplang命令执行(QVD-2022-46174)影响范围6.0.1<=ThinkPHP<=6.0.13ThinkPHP5.0.xThinkPHP5.1.x漏洞复现POC:?+config-create+/&lang=../../../../......
  • Spring Boot 目录遍历--表达式注入--代码执行--(CVE-2021-21234)&&(CVE-2022-22963)&&
    SpringBoot目录遍历--表达式注入--代码执行--(CVE-2021-21234)&&(CVE-2022-22963)&&(CVE-2022-22947)&&(CVE-2022-2296)SpringBoot目录遍历(CVE-2021-21234)漏洞简介spring-boot-actuator-logview是一个简单的日志文件查看器作为SpringBoot执行器端点,在0.2.13版本之前存......
  • 2022年抖音最近很火的游戏直播:挤地铁教程+源码+软件
    音最近很火的游戏直播:挤地铁教程+源码+软件先上车先吃肉,卡好后带货,卖号,引私域,接星途广告,接小程序广告,带小游戏赚收益均可。有需要的材料自取:提取码:9jbw ......
  • [LNOI2022] 串
    题目链接显然答案下界为\(\lfloor\frac{n}{2}\rfloor\)。采用一种对着题意模拟的策略:假设我们初始的区间为\([l,r]\),然后逐步向左平移,也就是:\([l,r],[l-1,r-2],[l-2,r-4],\dots\)直到碰到边界(平移的次数\(+1\)就等于\(m\))。显然\(l\)取\(\lfloor\frac{n}{2}\rfloor\),\(r......
  • two-sat模板
    P4782【模板】2-SAT问题就是给关系进行连边,然后判断是否存在矛盾输出方案的时候,就是在拓扑图上沿着反边走,但实际上tarjan求强连通分量已经排好序了编号小的scc就是在拓扑序中排在后面的强连通分量#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#......
  • Vs2022 开发Grpc
    使用VS2022开发遇到了不少坑,记录一下VS貌似没有类似WebService添加接口的模板,需要手动添加.proto文件,而且.proto文件,也没有对应模板,需要添加一个文本文件,改成需要的名字添加完.proto文件,需要用Grpc.Tools编译生成对应所需的文件,使用dotnetaddpackageGrpc.Tools这里我遇......
  • [HNCTF 2022 WEEK2]e@sy_flower
    花指令分析如果没接触过花指令,先看这个博客,大致了解一下花指令https://www.cnblogs.com/Here-is-SG/p/15802040.html点击此处下载附件查壳32位,无壳去除花指令用32位ida打开,就看到红色字体的XREF(非自然程序流程,可以用它对程序流进行跟踪和控制,估计以后有的学了),这时候F5反......
  • SWPUCTF 2022 新生赛
    Web奇妙的MD5打开得到一个md5加密窗口放入ffifdyop,这个字符串被md5哈希了之后会变成276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是'or'6而Mysql刚好又会把hex转成ascii解释,因此拼接之后的形式是1select*from'admin'wherepassword=''or'6xxxxx',等价......
  • 2022新领军一试部分题目及解答
    2022新领军一试部分题目及解答小学渣​爱数学的初三菜鸡一枚前言:本文章仅用于记录作者本人思考的解答,看个乐子就好(初二牲)1.(1)求 I_n=\displaystyle\int_{-1}^{1}x^n\sqrt{1-x^2}\mathrm{d}x\;\;\;\;\;\;\; (2)求 \displaystyle\sum_{n=1}^{+\i......