Yuhao Du Contest 7 - Junk Problem

(同 [COTS/CETS 2021] 菜 Jelo)

假设有 \(2n\) 位,考虑把每个数分成前 \(n\) 位和后 \(n\) 位。

先构造一个 \(2^n\) 元有乘法、加法的有限域,这个可以通过找一个不可约多项式构造,见 P3923

然后对于 \(x=[0,2^n-1]\),前 \(n\) 位填 \(x\),后 \(n\) 位填 \(x^3\) 在有限域运算下的值,构造出一个 \(2n\) 位的数。

这样如果两个 pair \((a,b),(c,d)\) 的 xor 相等,就需要满足 \(a+b=c+d\)\(a^3+b^3=c^3+d^3\)

由于在该 \(2^n\) 有限域下加法等同与 xor,可以推出 \(a^3+b^3=c^3+d^3 \to ab(a+b) = cd(c+d) \to ab=cd\)

由于同时有 \(ab=cd\)\(a+b=c+d\),则 \(\{a,b\}\)\(\{c,d\}\) 都是方程 \(x^2-(a+b)x+ab\) 的解,而这个方程只有至多两个解,也就说明 \(\{a,b\} = \{c,d\}\)

那么这样构造就不会有两个不同的 pair 的 xor 相同,并且构造了 \(2^n\) 个数。

posted @ 2024-10-25 01:12  Rainbow_qwq  阅读(24)  评论(0编辑  收藏  举报