学会把“反转一个 $k$ 点完全图”视为 GF(2) 向量加法,找出与 $k\bmod4$ 有关的全部不变量;在可达等价类中构造边数最大的图,再用“逐点消元+最后 $k+2$ 点闭式求解”产生不超过 $\binom n2$ 次操作。
前置:位向量、GF(2) 线性空间、图的度数奇偶性、简单构造。
边数至多只有 $\binom{500}{2}$,但不能对这么多变量直接做稠密高斯消元,更不能在一个余集中做最大 Hamming 重量搜索。题目操作具有强对称性:所有 $k$ 元点集都可选。这提示我们不应求一个任意矩阵的基,而应先找置换对称下可能存在的少数奇偶不变量。
给定所有无序点对一个固定顺序,图 $G$ 是长 $M=\binom n2$ 的 0/1 向量。对 $k$ 元集 $S$,操作向量 $C_S$ 在 $S$ 内部边上为 1。多次操作的顺序不重要,两次相同操作抵消,最终变化为
$$ D=\bigoplus_{S\in\mathcal A}C_S. $$
因此问题分成两步:先在余集 $G+span{C_S}$ 中找最多边的目标图,再把差分 $D$ 表示成操作向量之和。
一次操作反转 $\binom k2$ 条边,所以当 $k\equiv0,1\pmod4$ 时,总边数奇偶不变。
每个被选顶点的度改变 $k-1$ 条,所以当 $k$ 为奇数时,每个顶点的度奇偶不变。四种余数类得到:
| $k\bmod4$ | 总边数奇偶 | 各点度奇偶 |
|---|---|---|
| 0 | 不变 | 可改变 |
| 1 | 不变 | 不变 |
| 2 | 可改变 | 可改变 |
| 3 | 可改变 | 不变 |
此时还不能直接宣布“没有其他不变量”。这个充分性将由后面的显式消元构造证明:只要差分满足表中必要条件,构造一定能把它消为空。
最大化目标图 $T$ 的边数,等价于最小化完全图相对于 $T$ 的缺边图 $H=K_n-T$。这一反向建模把“尽量多”改成了小图构造。
若度奇偶需保持,则 $H$ 中顶点 $v$ 必须具有的度奇偶为
$$ q_v=(n-1\bmod2)\oplus deg_G(v)\bmod2. $$
设 $q_v=1$ 的顶点有 $2r$ 个。用 $r$ 条不相交边两两配对,就是实现这组度奇偶的最少缺边。
若还要求 $|H|$ 的奇偶,但 $r$ 的奇偶不对:
当尚有 $h>k+2$ 个顶点时,选一个顶点 $v$。只使用包含 $v$ 的操作;每个操作在其余 $h-1$ 点中选 $r=k-1$ 个。我们先只看它对 $v$ 的关联边的影响,这就是一个 $r$ 元集的指示向量。
取基集 $B$,$|B|=r$,固定 $b_0\in B$ 和 $x_0\notin B$。只需考虑以下 $h-1$ 个候选:
$$ B, $$
$$ B-{b_0}+{x}\quad(x\notin B), $$
$$ B-{b_i}+{x_0}\quad(b_i\in B-{b_0}). $$
任意候选向量与 $B$ 异或,会得到一对顶点。这些对生成所有偶重向量;若 $r$ 为奇数,再加上奇重的 $B$,便生成所有向量。这与必要不变量完全对齐:
选出系数后,把 $v$ 的所有差分边消成 0,不再使用 $v$。操作会改变剩余顶点之间的差分,但这只是把未解部分换成同一余集中的另一个实例,不破坏不变量。
当剩 $h=k+2$ 点时,一个 $k$ 元操作恰好等于“排除两个顶点 $a,b$”。令 $x_{ab}$ 表示是否使用该操作,定义
$$ X=\bigoplus{a<b}x{ab}, $$
$$ Ru=\bigoplus{v\ne u}x_{uv}. $$
边 $(u,v)$ 只被“排除点对与 $u,v$ 不相交”的操作反转,因此待消差分 $D_{uv}$ 满足
$$ D_{uv}=X\oplus R_u\oplus Rv\oplus x{uv}. $$
只需枚举 $X\in{0,1}$。若 $h$ 为偶数,对每个 $u$ 有 $R_u=deg_D(u)\oplus X$;若 $h$ 为奇数,可取全部 $Ru=0$,而可行性由度不变量保证。代回上式即得全部 $x{uv}$,再检查异或和是否确为 $X$。
当前有 $h$ 个顶点时,消掉一点最多用 $h-1$ 个候选操作。最后 $k+2$ 点最多使用每个排除点对一次,所以
$$ \sum_{h=k+3}^{n}(h-1)+\binom{k+2}{2}=\binom n2. $$
题面保证 $p\ge\binom n2$,因此构造严格满足次数限制,不需随机化或希望步数分析。
按 $k\bmod4$ 构造最小缺边图 $H$,得到目标 $T=K_n-H$。前述下界证明 $H$ 的边数不可更少:每条缺边最多配对两个奇度要求,而边数奇偶不匹配时下一个可能边数至少多 1;无奇度点时,非空偶度简单图至少含一个环,奇边数最小环是三角形。所给匹配/路径/三角形均达到下界,故 $T$ 边数最大。
令 $D=G\oplus T$。目标构造保证 $D$ 的必要奇偶量全为 0。逐点消元时,显式基能生成当前顶点所有允许的关联向量,故一定能清空该顶点。归纳后只剩 $k+2$ 点;补集点对方程枚举两个 $X$ 值,而不变量保证其中至少一个自洽。因此全部 $D$ 被消掉,最终图恰为 $T$。操作数恒不超过 $\binom n2\le p$。
target = complete_graph minus minimum missing graph required by invariants
D = initial XOR target
remaining = all vertices
while len(remaining) > k+2:
v = remove one vertex
B = any (k-1)-subset of remaining
build the h-1 candidate subsets from B by one-element replacements
solve their coefficients by XOR formulas
apply selected k-cliques containing v; now every D[v,*] is zero
for X in {0,1}:
derive R and x[excluded_pair] from D[u,v] = X XOR R[u] XOR R[v] XOR x[u,v]
if self-consistent:
apply every operation whose excluded-pair variable is 1
break
report number of edges in target
附件是可独立编译的本地 grader 版:读取下发文件的 c,t 协议,在内存中执行所有操作,输出 报告边数 是否校验成功。在原评测中应保留核心求解函数,把本地执行器替换为题面的 report/invert 调用。
实现时还要注意:
starmap.zip 中全部 8 个下发输入,每组报告边数与 .ans 一致,本地最终图检查均为 1。这只是本地协议验证,不声称已通过原交互评测。