无用小寄巧

当题目中有直角坐标系并且有上下左右移动的限制时,由于 x 移动时 y 不能动,导致 xy 有限制不方便我们处理,可以将坐标系逆时针旋转 45 度,再放大 2 倍,具体操作就是把所有点 (x,y) 的坐标变为 (x+y,yx),上下左右就分别变成了 (1,1),(1,1),(1,1),(1,1) 这样就可以把 xy 分开单独处理。


如果给出了坐标系上 xy 的范围,并且所有点都在整点上,那么可以将行和列作为点,对应位置的点就变成了行和列之间的连边,并且此时的图是一张二分图


E(x)=i1pii

E(x)=i1piji1=j1ijpi

概率的计算从等于变成了大于等于


判断矩乘结果是否等于另一个矩阵,可以随一个向量左乘在式子上,最后判断两个向量是否相等,多做几次大概率就能确定了。这样就从 n3 的矩阵乘矩阵变成了 n2 的向量乘矩阵。
例题 应用
点乘的式子很像矩阵乘法里一项的计算,于是发现我们其实是在判断在模 k 意义下,A={a,b,}ATA 的转置矩阵,A×AT 的对角线以外是否有 0

如果 k=2,其实就是判断两个向量相乘是否等于另一个对角线上值可以 O(nd) 算,其他值都为 1 的矩阵。狂暴随机几次就可以 O(nd) 解决。

如果 k=3,那么第三个矩阵可能有 12,但是我们发现 12221(mod3),所以我们把两边的式子都做一次点乘的平方再随机化。
此时右边很好搞,问题是左边。
左边最终向量的第 x 项为

i=1nrdi(j=1dAi,jAj,xT)2

把二次狂暴展开就可以变成

j=1dk=1dAx,jAx,ki=1nrdiAi,jAi,k

然后右边预处理一下就可以 O(nd2) 解决。

posted @   llmmkk  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示