《算法竞赛》06 数论和线性代数

高斯消元

  • 原来之前打的都有问题,处理第 \(i\) 列的时候要把前 \(i-1\) 行的第 \(i\) 列也消成 \(0\)

二分法与 \(0/1\) 分数规划

  • 关于直线的理解:每一种选出元素的方案都对应一条直线,这条直线对应的答案为横截距。要选出一条直线使横截距最大,于是找到最大的 \(x=k\) 使存在直线在 \(x=k\) 时的取值 \(\ge0\),二分求解。
  • 应用场景:最优比率......(如最优比率环、最大密度子图等)

GCD 和 LCM

  • Stein 算法求 GCD:两个偶数同除以 \(2\),一奇一偶把偶数除以 \(2\),都是奇数就变成和的一半和差的一半。目测复杂度 \(O(\log V)\)
  • 裴蜀定理应用:一堆整数加减运算结果是他们 GCD 的整数倍。

线性丢番图方程

  • \(a,b\in Z,ax+by=c\) 有解当且仅当 \(GCD(a,b)|c\)

同余

  • 一元线性同余方程可以转化为线性丢番图方程。
  • (拓展)中国剩余定理注意使用条件(互质)。

素数(质数)

  • pollard_rho 用的时候要注意随机数的范围,要用到 pollard_rho 的范围一般很大。

威尔逊定理

  • \(p\) 为质数时 \((p-1)!\bmod p=p-1\)
  • \(p\) 为非质数(除了 \(4\) )时 \(p|(p-1)!\)

积性函数

  • 定义:\(\forall p,q\in Z,p\perp q,f(pq)=f(p)\times f(q)\),则 \(f\) 为积性函数。\(\forall p,q\in Z,f(pq)=f(p)\times f(q)\),则 \(f\) 为完全积性函数。
  • 积性函数的和函数(迪利克雷前缀和)也是积性函数——\(f\) 为积性函数那么函数 \(F(n)=\sum_{d|n}f(d)\) 也是积性函数。

欧拉函数

  • 拓展欧拉定理:

    \[a^b\equiv\left\{\begin{matrix} a^{b\bmod\varphi(m)},&gcd(a,m)=1\\ a^b,&gcd(a,m)\ne1,b<\varphi(m)\\ a^{b\bmod\varphi(m)+\varphi(m)},&gcd(a,m)\ne1,b\ge\varphi(m) \end{matrix}\right.(\bmod\ m) \]

整除分块

  • \(x\) 所在块最后一个位置:\(\lfloor\frac n{\lfloor\frac nx\rfloor}\rfloor\)

迪利克雷卷积

  • \((f*g)(n)=\sum_{d|n}f(d)g(\frac nd)\)
  • 积性函数的迪利克雷卷积仍是积性函数。

莫比乌斯函数与莫比乌斯反演

  • 本质:\(\mu*1=\varepsilon\)

杜教筛

  • 求一个函数的前缀和——将其和另一个函数卷起来,且新的两个函数的前缀和可以快速求出。
  • \(n^{\frac23}\) 分治。
posted @ 2024-01-15 21:08  牛肉爱吃dks  阅读(15)  评论(0编辑  收藏  举报