1 条题解

  • 1
    @ 2022-8-10 13:10:53

    Update

    Hydro 时限太小,TLE 了……


    好,管理员开大时限了,现在可以通过。


    看起来很牛逼的题目。

    但是 x> ⁣ ⁣> ⁣ ⁣>kx>\!\!>\!\!>k 是什么迷惑行为啊。

    以下 xx 均对 kk 取模。


    你要从 Zkd{\rm Z}_k^d 中指定的 nn 个向量 x1,x2,,xn{\bf x}_1,{\bf x}_2,\dots,{\bf x}_n 中,取出两个不同向量 a,b{\bf a},{\bf b},使 aTb=0{\bf a}^{\operatorname T}{\bf b}=\overline0,其中 k{2,3}k\in\{2,3\}

    你要思索。

    设 $A=\begin{bmatrix}{\bf x}_1&{\bf x}_2&\dots&{\bf x}_n\end{bmatrix}$。

    则 ${\bf x}_i^{\operatorname T}{\bf x}_j=0\Leftrightarrow(A^{\operatorname{T}}A)_{ij}=\overline0$。

    B=ATAB=A^{\operatorname{T}}A,我们只用找到一个不在其对角线上的零点。

    如何尝试找到一行在某个非对角线位置取 00

    不为左了,参考了 Luogu 题解。


    k=2k=2

    随机取 yZ2n{\bf y}\in{\rm Z}_2^n,计算 p=By{\bf p}=B{\bf y},这个可以在 O(nd)O(nd) 内实现。

    q=B(1,1,,1){\bf q}=B(\overline1,\overline1,\dots,\overline1)

    若 $\exist_a,{\bf q}_a-{\bf p}_a\neq(1-{\bf y}_a)(1-B_{i,i})+\operatorname{cnt}_0({\bf y})$,则导出矛盾,直接对着 aa 枚举另一半就好了。

    成功率不多分析,可以通过就是了,应该还蛮高的。


    k=3k=3

    这个太牛了,上面那个我还能自己发明,下面这个平方则根本就想不到啊!!!

    pi=jBij2yj{\bf p}_i=\sum_jB_{ij}^2{\bf y}_j,那么 1,21,2 都变为 11

    pi=jBijyjBji{\bf p}_i=\sum_jB_{ij}{\bf y}_jB_{ji}。(BB 为对称矩阵)

    即 ${\bf p}_i=(B\operatorname{diag}\{{\bf y}_1,{\bf y}_2,\dots,{\bf y}_n\}B)_{ii}$。

    对这个如何快速计算?

    $$(B\operatorname{diag}\{{\bf y}_1,{\bf y}_2,\dots,{\bf y}_n\}B)_{ii} \\=(A'(A\operatorname{diag}\{{\bf y}_1,{\bf y}_2,\dots,{\bf y}_n\}A')A)_{ii} $$

    可以在 O(nd2)O(nd^2) 时间内算出 p\bf p 的每一项。

    类似的,定义 y,p,q\bf y,p,q

    若 $\exist_a,{\bf q}_a-{\bf p}_a\neq(1-{\bf y}_a)(1-B_{i,i}^2)+\operatorname{cnt}_0({\bf y})$,则导出矛盾。

    • 1

    信息

    ID
    3243
    时间
    1000~5000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    19
    已通过
    2
    上传者