CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!) B. Friendly Arrays

news/2025/1/11 20:03:34/文章来源:https://www.cnblogs.com/matinalcosmos/p/18666157

Codeforces 题解 - [B. Friendly Arrays]

题目链接

题目描述

You are given two arrays of integers — \(a_1, \ldots, a_n\) of length \(n\), and \(b_1, \ldots, b_m\) of length \(m\). You can choose any element \(b_j\) from array \(b\) (\(1 \leq j \leq m\)), and for all \(1 \leq i \leq n\) perform \(a_i = a_i | b_j\). You can perform any number of such operations.

After all the operations, the value of \(x = a_1 \oplus a_2 \oplus \ldots \oplus a_n\) will be calculated. Find the minimum and maximum values of \(x\) that could be obtained after performing any set of operations.

Above, \(|\) is the bitwise OR operation, and \(\oplus\) is the bitwise XOR operation.。

输入格式

The first line contains a single integer \(t\) (\(1 \leq t \leq 10^4\)) — the number of test cases. This is followed by the description of the test cases.

The first line of each test case contains two integers \(n\) and \(m\) (\(1 \leq n, m \leq 2 \cdot 10^5\)) — the sizes of arrays \(a\) and \(b\).

The second line of each test case contains \(n\) integers \(a_1, a_2, \ldots, a_n\) (\(0 \leq a_i \leq 10^9\)) — the array \(a\).

The third line of each test case contains \(m\) integers \(b_1, b_2, \ldots, b_m\) (\(0 \leq b_i \leq 10^9\)) — the array \(b\).

It is guaranteed that the sum of values of \(n\) and \(m\) across all test cases does not exceed \(2 \cdot 10^5\).

输出格式

For each test case, output \(2\) numbers: the minimum and maximum possible values of \(x\) after performing any set of operations.

题目大意

对于每个测试用例,有一个数组a,和一个数组b。
对于每个 \(a_{i}\), 可以选择 \(b_{j}\) 对所有的\(1 \leq i \leq n\)进行 \(a_{i} = a_{i} | b_{j}\) 的操作,进行任意次。 求出 \(x = a_{1} \oplus a_{2} \oplus \ldots \oplus a_{n}\) 的最小值和最大值。

输入

2
2 3
0 1
1 2 3
3 1
1 1 2
1

输出

0 1
2 3

解题思路

  • 对于每个\(b_{j}\)进行操作以后, \(b_{j}\)的二进制位上为1的位,在a数组中所有的对应的位都会变成1。(并且会保持这种状态,因为在OR中的运算,位不会由1变成0)。
  • 由以上的操作,仍是对于每个\(b_{j}\),我们仍对对应的这些为1的位考虑, 如果\(n\)为奇数,那么a的最终的XOR的结果会将此位变成1(因为有奇数个1进行异或)。同理如果\(n\)是偶数最终的XOR的结果会将此位变成0。
  • 因此可以得出结果,如果是奇数,最大值就是对所有的\(b_{j}\)都进行一次操作的a的XOR的结果,最小值就是不进行操作的直接a的XOR的结果。如果是偶数,最大值就是不进行操作的直接a的XOR的结果,最小值就是对所有的\(b_{j}\)都进行一次操作后的a的XOR的结果。
  • 可以看到如果直接对每个\(b_{j}\)进行操作时间复杂度是\(O(nm)\),会超时。但是由于第一个要点,我们可以先对b数组进行预处理,将b数组中所有的数进行OR运算,得到一个数,然后再对这个数进行操作。时间复杂度为\(O(n+m)\)

代码实现

#include "bits/stdc++.h"
using namespace std;
// #define int int64_t
constexpr int INF = 1e9 + 10;void Solution()
{int n, m;cin >> n >> m;vector<int> a(n + 1), b(n + 1);int c = 0;for(int i = 1;i <= n;++i){cin >> a[i];}for(int i = 1;i <= m;++i){int aa; cin >> aa;c |= aa;}int Ans = 0, ansOnly = 0;if(n & 1){for(int i = 1;i <= n;++i){ansOnly ^= a[i];Ans ^= a[i] | c;}cout << ansOnly << ' ' << Ans << '\n';}else{for(int i = 1;i <= n;++i){ansOnly ^= a[i];Ans ^= a[i] | c;}cout << Ans << ' ' << ansOnly << '\n';}//bj 对 n为奇数 最终xor结果就是bj上为1的位return;
}signed main()
{ios_base::sync_with_stdio(false);cin.tie(nullptr);int t; cin >> t;while (t--){Solution();}return 0;
}
/*
1
3 3 2
3 4 5
1 2 3
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/867887.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python深度学习GRU、LSTM 、BiLSTM-CNN神经网络空气质量指数AQI时间序列预测及机器学习分析

全文链接:https://tecdat.cn/?p=38742 原文出处:拓端数据部落公众号 分析师:Zhixiong Weng人们每时每刻都离不开氧,并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气,因此,被污染了的空气对人体健康有直接的影响,空气品质对人的影响更是至…

如何选择和使用专业的代码修改服务?

如果您不具备编程技能,或者项目复杂度较高,选择一家可靠的代码修改服务提供商是明智之举。 解决方案:评估需求:明确您需要修改的具体内容和期望达到的效果。 选择服务商:通过在线平台或口碑推荐寻找信誉良好的服务商。查看他们的案例和客户评价。 沟通需求:与服务商详细沟…

前端加密对抗-1

在实习的时候遇到很多的项目都使用了加密来保护安全性,测试起来非常的费劲;然后最近看到了有这么一个前端加密靶场,利用这个靶场来多学习学习这方面的知识。改包的防范 目前流行的防止改包方式主要是这么几个方面请求参数和路径的加密 如果原始请求是GET请求,或防止访问者获…

如何在CentOS云服务器上一键自动挂载磁盘?

对于新手来说,通过命令行手动挂载磁盘可能会有一定的难度。幸运的是,使用宝塔面板的一键挂载脚本可以简化这个过程。该脚本经过优化,直接绑定UUID以避免分区飘移问题,并能自动将硬盘挂载到/www目录。如果之前已经安装了宝塔面板,脚本会自动迁移数据到新的磁盘并挂载到/www…

WordPress需要在什么环境下运行?

WordPress 是一个基于 PHP 语言和 MySQL 数据库管理系统构建的开源内容管理系统(CMS)。为了确保 WordPress 网站能够稳定、高效地运行,您需要为其提供合适的运行环境。以下是详细的环境要求和建议: 一、WordPress 运行环境要求组件 推荐配置 说明Web服务器 Apache 或 Nginx…

网站SSL证书有什么用?什么情况下需要申请SSL证书?

网站SSL证书在保障网站安全和提升用户体验方面扮演着重要角色。以下是SSL证书的主要用途和申请需求的详细说明。 一、网站SSL证书的作用 1. 数据加密传输作用:SSL证书确保用户浏览器和服务器之间的数据传输是加密的,防止第三方窃取敏感信息,如登录密码、支付数据等。 重要性…

dedecms上传图片附件失败的原因和解决办法

dedecms上传图片附件失败可能是由于以下几个原因导致的:目录权限问题:检查网站目录权限是否可写(uploads目录或后台定义的上传目录)。 文件大小限制:检查上传图片大小是否超过php.ini中定义的大小。 子目录缺失:检查上传图片附件目录中的子目录是否存在,如allimg、flink…

独立IP虚拟主机相较于共享IP虚拟主机有哪些优势?

独立IP虚拟主机与传统共享IP虚拟主机相比,具有显著的优势。在共享IP环境中,多个网站共用一个IP地址,而独立IP虚拟主机为每个网站分配唯一的IP地址。以下是独立IP虚拟主机的主要优势: 1. 更高的稳定性资源独享:由于每个网站拥有独立的IP地址,因此不会受到其他网站的影响。…

虚拟主机打开网站出现403 - 禁止访问:访问被拒绝,如何解决?

当您尝试访问托管在虚拟主机上的网站时,如果遇到“403 - 禁止访问:访问被拒绝”的错误提示,这通常意味着服务器拒绝了您的访问请求。这种错误可能由多种原因引起,包括但不限于权限设置、文件配置或目录结构问题。 以下是详细的排查步骤和解决方案:检查默认首页文件原因分析…

1.11鲜花

感觉这两天停课有点不太对劲…… 本身因为 csp-s 打烂了赛季报销之后就没有什么事了的,车人却还要以 T/P 营赛前要拉进度的理由把我们喊过来停课。 说实话本身还是想停课的,但停了了一天就发现 T 和 P 都去不了,最后车人拉进度又拉的奇快无比(例如放一个一上午的题单有一堆…

电商行业人才加速跑:实战导向型企业员工培训速成策略

随着电商行业的迅猛发展,市场竞争日益激烈,企业对员工的培训需求也愈发迫切。如何在快节奏的市场环境中,快速提升员工的专业技能和服务水平,成为电商企业面临的重大课题。本文将为您介绍一套企业员工培训的速成法,旨在帮助电商企业在竞争中保持领先地位和在培训资源整合中…

教育机构知识管理新纪元:构建高效知识中台实战策略

在当今这个信息爆炸的时代,教育机构面临着前所未有的挑战与机遇。如何高效地整合、管理和传播知识,成为了决定教育机构竞争力的关键因素之一。知识中台作为连接前台业务与后台资源的桥梁,正逐渐成为众多教育机构转型升级的重要抓手。本文将为您提供一份详尽的知识中台搭建指…