數論中的異或

2021-08-19 14:04:14 字數 1059 閱讀 1770

數論中的異或

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,...