#ABC150F. 异或平移

异或平移

异或平移

题目描述

给定由非负整数组成的长为 NN 的数列 a={a0,,aN1}a=\{a_0,\ldots,a_{N-1}\}b={b0,,bN1}b=\{b_0,\ldots,b_{N-1}\}

Snuke 选择满足 0k<N0 \leq k \lt N 的整数 kk00 以上的整数 xx,按如下方式构造新的长为 NN 的数列 a={a0,,aN1}a'=\{a_0',\ldots,a_{N-1}'\}:

  • ai=ai+kmodN XOR xa_i'= a_{i+k \mod N}\ XOR \ x

求所有使 aa'bb 相等的 (k,x)(k,x) 组。

什么是  XOR \text{ XOR }:

整数 A,BA, B 的按位异或 a XOR ba \text{ XOR } b 定义如下:

  • A XOR BA \text{ XOR } B 用二进制表示时,2k2^k (k0k \geq 0) 位上的数字,在 A,BA, B 的二进制表示的 2k2^k 位上恰好只有一个为 11 时为 11,否则为 00

例如,3 XOR 5=63 \text{ XOR } 5 = 6(用二进制表示:011 XOR 101=110011 \text{ XOR } 101 = 110)。

输入格式

输入按以下格式从标准输入给出:

NN
a0a_0 a1a_1 ...... aN1a_{N-1}
b0b_0 b1b_1 ...... bN1b_{N-1}

输出格式

输出所有使 aa'bb 相等的 (k,x)(k,x) 组,每组占 11 行,按 kk 升序(kk 相同时按 xx 升序)输出。

如果不存在这样的组,则可以不输出任何内容。

样例

3
0 2 1
1 2 3
1 3

(k,x)=(1,3)(k,x)=(1,3) 时:

  • a0=(a1 XOR 3)=1a_0'=(a_1\ XOR \ 3)=1
  • a1=(a2 XOR 3)=2a_1'=(a_2\ XOR \ 3)=2
  • a2=(a0 XOR 3)=3a_2'=(a_0\ XOR \ 3)=3

于是 aa'bb 相等。

5
0 0 0 0 0
2 2 2 2 2
0 2
1 2
2 2
3 2
4 2
6
0 1 3 7 6 4
1 5 4 6 2 3
2 2
5 5
2
1 2
0 0

有时不存在满足条件的组。

数据范围

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0ai,bi<2300 \leq a_i,b_i \lt 2^{30}
  • 输入中的所有值都是整数。
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
1847
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签