數論中的異或
time limit: 1000 ms
memory limit: 32768 k
total submit: 79(41 users)
total accepted: 38(30 users)
rating:
special judge: no
description
給出兩集合a和b, 找出最小的非負整數x使得a⊕x=b.
假設a=, a⊕x=.⊕代表異或操作
input
輸入的第一行是乙個整數t,表示一共有t組測試資料;
對於每組測試資料,第一行是乙個整數n代表集合a和b的大小
第二行包含n個整數a1,a2,a3,....an,代表集合a的元素。
第三行包含n個整數b1,b2,b3,....bn,代表集合b的元素。
(1<=n<=100000,n是奇數,0<=ai<2^30)
output
如果存在x就輸出最小的x,如果不存在就輸出-1。
sample input13
0 1 3
1 2 3
sample output
2一道需要知識點的題目,可惜我不知道,比賽時沒敢碰,其實就是a^b=x等價於a^x=b;所以我們只需要吧a陣列和b陣列全部都異或一遍得到乙個ans,再驗證這個ans是否滿足條件即可
ac **:
#include#includeusing namespace std;
#define maxn 100005
int a[maxn];
int b[maxn];
int c[maxn];
int main()
for(int i=0;i>b[i];
ans^=b[i];
}for(int i=0;i
sort(c,c+n);
int flag=0;
for(int i=0;i
}if(flag) cout<
else cout<
}return 0;
}
HRBUST 1688 數論中的異或(思維題)
數論中的異或 time limit 1000 ms memory limit 32768 k total submit 75 41 users total accepted 35 30 users rating special judge no description 給出兩集合a和b,找出最小的非...
數論 異或,兩道水題。
題目大意 給你n個數 n 1000000 第i個數用ai表示 每個a 1000000 求出每個數與其之後的數的xor和。舉個例子吧,比如三個數1 2 3答案就應該為1 xor 2 1 xor 3 2 xor 3 4 題解 首先有乙個o n n 的演算法,就是暴力列舉,可以過40 資料。程式大體 fo...
異或 異或相關
感謝 morning glory 贊助 異或異 或 de scri ptio ndes crip tion 給定 l,r l,r,求 i lr j lr i ji l r j l r i jl,r 1 09l,r 1 09 s olut ions olut ion 假設l 1,r 4l 1,r 4,...