专栏文章

题解:P12044 [USTCPC 2025] Algorithm Duel

P12044题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipobqcp
此快照首次捕获于
2025/12/03 15:16
3 个月前
此快照最后确认于
2025/12/03 15:16
3 个月前
查看原文
宣传博客:USTCPC25 F&K 题解
这题是寒假想到的,USTCPC 赛前听说缺题,突然感觉可以出成妙妙构造题。但是当时事情有点多,因此题面和数据都是 @Grand_Dawn 写的,感谢(
如下是该题的一个等价转换:

命题

n3(d1)n \ge 3(d - 1),且 VF2nV \subset \mathbf{F}_2^n 是一个维度为 dd 的线性子空间。那么,存在一个向量 xV\mathbf{x} \in V,使得其 Hamming weight 满足:
dxnd+1.d \le |\mathbf{x}| \le n - d + 1.

证明

VV 的一组行最简形式(保证主元对应的列消的只剩下一个 1,可以参考 Menci 的写法)下的线性基 b1,b2,,bd\mathbf{b}_1, \mathbf{b}_2, \ldots, \mathbf{b}_d。因为每个基向量中至少有 d1d-1 个 0,所以可以保证每个基向量的 Hamming weight 满足:
bin(d1)=nd+1.|\mathbf{b}_i| \le n - (d - 1) = n - d + 1.
接下来讨论两种情况:

情况 1:

存在某个 ii,使得 bi[d,nd+1]|\mathbf{b}_i| \in [d, n - d + 1]。此时,bi\mathbf{b}_i 本身即满足结论。

情况 2:

对于所有 ii,都有 bi[1,d1]|\mathbf{b}_i| \in [1, d - 1],即每个基向量的 Hamming weight 都小于 dd。定义如下的前缀和向量:
xk=j=1kbj,1kd.\mathbf{x}_k = \sum_{j = 1}^{k} \mathbf{b}_j, \quad 1 \le k \le d.
由于每个 bi\mathbf{b}_i 的 Hamming weight 小于 dd,所以相邻两个前缀和向量之间的 Hamming weight 差满足:
xkxk1bk<d.\left|\, |\mathbf{x}_k| - |\mathbf{x}_{k-1}| \,\right| \le |\mathbf{b}_k| < d.
又因为基底是行最简的形式,可以保证 xd\mathbf{x}_d 至少有 dd 个非零位,即:
xdd,x0=0.|\mathbf{x}_d| \ge d, \quad |\mathbf{x}_0| = 0.
因此,由于 Hamming weight 从 00 增加到至少 dd,且每一步变化最多为 d1d - 1,根据离散中值定理,存在某个 k[d]k \in [d],使得:
xk[d,nd+1].|\mathbf{x}_k| \in [d, n - d + 1].
所以存在一个满足条件的向量 x=xkV\mathbf{x} = \mathbf{x}_k \in V,证毕。

算法

最终算法就呼之欲出了,先进行高斯消元,随后检查每个向量以及前缀异或和是否满足条件即可,复杂度 O(n3w)O(\frac{n^3}{w})

评论

0 条评论,欢迎与作者交流。

正在加载评论...