首页 > 其他分享 >B. Friendly Arrays

B. Friendly Arrays

时间:2023-10-22 17:57:31浏览次数:39  
标签:Arrays mn long mx int Friendly

B. Friendly Arrays

依据异或特性,如果n为偶数,单调递减:与b[i]|越多越小
反之递增

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5 + 10;
#define LL long long
int a[N], b[N];
void solve() {
	int n, m;
	cin >> n >> m;
	if (n % 2 == 0) {
		int mn = 0;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];
			mn ^= a[i];
		}
		LL w = 0;
		for (int i = 1; i <= m; i++) {
			int x;
			cin >> x;
			w |= x;
		}
		int mx = 0;
		for (int i = 1; i <= n; i++) {
			mx ^= a[i] | w;
		}
		cout << mx<<' '<<mn;
	}
	else {
		int mn = 0;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];
			mn ^= a[i];
		}
		cout << mn << ' ';
		LL w = 0;
		for (int i = 1; i <= m; i++) {
			int x;
			cin >> x;
			w |= x;
		}
		int mx = 0;
		for (int i = 1; i <= n; i++) {
			mx ^= a[i] | w;
		}
		cout << mx;
	}
	cout << '\n';
}
int main() {
	int t;
	cin >> t;
	while (t--) {
		solve();
	}
	return 0;
}

标签:Arrays,mn,long,mx,int,Friendly
From: https://www.cnblogs.com/bu-fan/p/17780755.html

相关文章

  • Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法
    Arrays.asList()把数组转换成集合时,不能使用其修改集合相关的方法,此处测试代码如下,这里使用add方法:1publicclassmain{2publicstaticvoidmain(String[]args){3int[]num={1,2,3};4Listlist=Arrays.asList(num);5list.add(4);......
  • 无涯教程-Arduino - Multi-Dimensional Arrays函数
    具有二维的数组(即下标)通常表示由以行和列排列的信息组成的值表。intb[2][2]={{1,2},{3,4}};这些值按大括号按行分组,因此,1和2分别初始化b[0][0]和b[0][1],而3和4分别初始化b[1][0]和b[1][1],如果给定行的初始化程序不足,则将该行的其余元素初始化为0。因此......
  • Arrays.asList() 和 Collections.singletonList()
    Collections.singletonList()  创建不可变List,只包含单个元素,List容量始终为1;  Arrays.asList()  快速创建List,但创建的列表是不可变的,不可调用add方法;......
  • Atcoder Beginner Contest 324 G Generate Arrays 题解-Treap
    为了更好的阅读体验,请点击这里题目链接套上平衡树板子就能做的很快的题,然后因为是指针存树,因此交换只需要把序列大小较小的挨个拿出来插到相应的地方即可。复杂度\(O(N\log^2N)\)。但是一定要记住不可以直接使用std::swap交换包含带有指针的类的实例(如代码中的Treap类)!......
  • Codeforces Round 892 (Div. 2) B. Olya and Game with Arrays
    一系列\(n\)个数组,第\(i\)个数组的大小\(m_i\geq2\)。第\(i\)个数组为\(a_{m_1},a_{m_2},\cdots,a_{m_i}\)。对于每个数组,你可以移动最多一个元素到另一个数组。一系列\(n\)个数组的\(beauty\)定义为\(\sum_{i=1}^{n}min_{j=1}^{m_i}a_{i,j}\)。询问你......
  • Arrays、Lambda
    Array.sort()对对象进行排序Lambda        ......
  • [CF1158F]Density of subarrays
    F-Densityofsubarrays屲,平衡复杂度题首先考虑如何求一个序列的密度从最左端开始,找到需序列\(A[1...n]\)的最小段\(A[1...a_1]\),使其包含\(1\simc\)的所有颜色,然后又以\(a_1+1\)为起点,找下一个最短的包含\(1\simc\)的所有颜色的段,最后找到的这样的段的个数就是这个序列......
  • Go - Sorting Arrays or Slices
    Problem: Youwanttosortelementsinanarrayorslice.Solution: Forint,float64,andstringarraysorslicesyoucanusesort.Ints,sort.Float64s,andsort.Strings.Youcanalsouseacustomcomparatorbyusingsort.Slice.Forstructs,youcan......
  • Go - Making Arrays and Slices Safe for Concurrent Use
    Problem: Youwanttomakearraysandslicessafeforconcurrentusebymultiplegoroutines.Solution: Useamutexfromthesynclibrarytosafeguardthearrayorslice.Lockthearrayorslicebeforemodifyingit,andunlockitaftermodificationsarema......
  • CF1856B Good Arrays
    题意简述:给定一个序列\(a\),我们定义一个序列\(b\)是好的当且仅当对于\(1\dotsn\)内的每一个\(i\),\(a_i\neqb_i\)且\(\sum_{i=1}^na_i=\sum_{i=1}^nb_i\)(\(a_i\),\(b_i\)均为正整数)。现在有\(T\)组数据,每组数据给定\(n\)和序列\(a\),判断是否存在一个合法的序......