摘要: 邻接矩阵 原理 使用一个二维数组 mat 来存边,其中 mat[u][v] = w 表示结点 \(u,v\) 间存在一条权值为 \(w\) 的边 复杂度 设图有 \(n\) 个点 \(m\) 条边 查询是否存在某条边 \(O(1)\) 遍历一个点的所有出边 \(O(n)\) 遍历全图 \(O(n^2 阅读全文
posted @ 2021-12-26 20:29 f(k(t)) 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法 原理 欧几里得算法用于求解两个数的最大公约数,它基于下面这个公式: \[ \gcd(a,b)=\gcd(b,a\bmod b) \] 可以简单地证明: 设 \(A\) 为 \(a,b\) 的公约数组成的集合, \(B\) 为 \(b,a\bmod b\) 的公约数组成的集合,只需证 \ 阅读全文
posted @ 2021-12-26 20:16 f(k(t)) 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 简介 BSGS(baby-step,giant-step)算法可在 \(O(\sqrt p)\) 的时间内求解离散对数问题,所谓离散对数,就是形如下面的同余方程的解: \[ a^x\equiv b\pmod p \] 其中 \(a\perp p\) 原理 因为 \(a\perp p\) ,由欧拉定理 阅读全文
posted @ 2021-12-26 00:03 f(k(t)) 阅读(90) 评论(0) 推荐(0) 编辑