题目 30138

F2 向量空间的交

查看题解 ↗GitHub ↗如何评测
题号
30138
时间限制
10000 ms
内存限制
1024 MB
标签
数学
来源
Library Checker (yosupo06) - intersection_of_f2_vector_spaces

【题目描述】

求两个 F2\mathbb{F}_2 向量空间 X=⟨u0,…,un−1⟩X = \langle u_0, \ldots, u_{n-1}\rangle 和 Y=⟨v0,…,vm−1⟩Y = \langle v_0, \ldots, v_{m-1}\rangle 的交集的一个基。具体来说,求一个向量集合 B={w0,…,wk−1}B = \lbrace w_0, \ldots, w_{k-1} \rbrace,使其满足:

  • 线性无关(对于任意子集 S={s0,…,sl−1}⊆BS = \lbrace s_0, \ldots, s_{l-1}\rbrace\subseteq B,若 s0⊕⋯⊕sl−1=0s_0 \oplus \cdots \oplus s_{l-1} = 0,则 S=∅S = \emptyset)。
  • 张成 X∩YX \cap Y(对于任意 a∈X∩Ya \in X \cap Y,存在 BB 的一个子集 S={s0,…,sl−1}S = \lbrace s_0, \ldots, s_{l-1}\rbrace,使得 s0⊕⋯⊕sl−1=as_0 \oplus \cdots \oplus s_{l-1} = a。此外,B⊆X∩YB \subseteq X \cap Y)。

每个测试包含 TT 组测试数据。

【输入】

第一行包含一个整数 TT。

接下来每组测试数据包含以下内容:

文本
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≤1000001 \leq T \leq 100000
  • 0≤n,m≤300 \leq n, m \leq 30
  • 0≤ui,vi≤230−10 \leq u_i, v_i \leq 2^{30} - 1
  • u0,…,un−1u_0, \ldots, u_{n-1} 关于异或运算线性无关。
  • v0,…,vm−1v_0, \ldots, v_{m-1} 关于异或运算线性无关。

【来源】

Library Checker(yosupo06) intersection_of_f2_vector_spaces

本题为 special judge(输出任意合法解),暂不可本地评测。

数据下载

题目 30138 的公开数据

正在读取文件列表…

常用命令

题目 30138 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。