1 条题解
-
1
Update
Hydro 时限太小,TLE 了……
好,管理员开大时限了,现在可以通过。
看起来很牛逼的题目。
但是 是什么迷惑行为啊。
以下 均对 取模。
你要从 中指定的 个向量 中,取出两个不同向量 ,使 ,其中 。
你要思索。
设 $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$。
设 ,我们只用找到一个不在其对角线上的零点。
如何尝试找到一行在某个非对角线位置取 ?
不为左了,参考了 Luogu 题解。
随机取 ,计算 ,这个可以在 内实现。
设 。
若 $\exist_a,{\bf q}_a-{\bf p}_a\neq(1-{\bf y}_a)(1-B_{i,i})+\operatorname{cnt}_0({\bf y})$,则导出矛盾,直接对着 枚举另一半就好了。
成功率不多分析,可以通过就是了,应该还蛮高的。
这个太牛了,上面那个我还能自己发明,下面这个平方则根本就想不到啊!!!
设 ,那么 都变为 。
则 。( 为对称矩阵)
即 ${\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} $$可以在 时间内算出 的每一项。
类似的,定义 。
若 $\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
- 上传者