【题目描述】
求两个 F2 向量空间 X=⟨u0,…,un−1⟩ 和 Y=⟨v0,…,vm−1⟩ 的交集的一个基。具体来说,求一个向量集合 B={w0,…,wk−1},使其满足:
- 线性无关(对于任意子集 S={s0,…,sl−1}⊆B,若 s0⊕⋯⊕sl−1=0,则 S=∅)。
- 张成 X∩Y(对于任意 a∈X∩Y,存在 B 的一个子集 S={s0,…,sl−1},使得 s0⊕⋯⊕sl−1=a。此外,B⊆X∩Y)。
每个测试包含 T 组测试数据。
【输入】
第一行包含一个整数 T。
接下来每组测试数据包含以下内容:
文本
n u_0 u_1 $\cdots$ u_{n - 1}
m v_0 v_1 $\cdots$ v_{m - 1}
【输出】
对于每组测试数据,输出一行:
文本
k w_0 w_1 $\cdots$ w_{k - 1}
【输入样例】
文本
9
2 1 2
3 1 2 4
3 7 3 1
2 3 1
1 2
2 1 3
1 2
2 3 1
2 3 4
3 1 5 3
3 31 4 15
4 92 65 35 89
3 1 2 4
0
0
3 1 2 4
0
0
【输出样例】
文本
2 1 2
2 3 1
1 2
1 2
2 4 3
0
0
0
0
【数据范围】
- 1≤T≤100000
- 0≤n,m≤30
- 0≤ui,vi≤230−1
- u0,…,un−1 关于异或运算线性无关。
- v0,…,vm−1 关于异或运算线性无关。
【来源】
Library Checker(yosupo06) intersection_of_f2_vector_spaces
本题为 special judge(输出任意合法解),暂不可本地评测。