数学理论
琥珀色的琉璃夜
这个作者很懒,什么都没留下…
展开
-
快速幂
快速幂是一个在 O(logn)O(\log n)O(logn) 的时间内计算 ana^nan 的小技巧,而暴力的计算需要 O(n)O(n)O(n) 的时间。 计算 aaa 的 nnn 次方表示将 nnn 个 aaa 乘在一起: an=a×a⋯×a⏟n 个 aa^{n} = \underbrace{a \times a \cdots \times a}_{n\text{ 个 a...原创 2019-10-15 21:08:48 · 129 阅读 · 0 评论 -
(扩展)欧几里得算法
一、欧几里得算法 欧几里得算法,也叫辗转相除法,简称 gcd,用于计算两个整数的最大公约数 引理 :欧几里得有个非常强的定理,gcd(a,b)=gcd(b,a mod b)。 这里就不证明了,代数书上有简洁优美的证明。 二、扩展欧几里得算法 扩展欧几里得算法,简称 exgcd,一般用来求解不定方程,求解线性同余方程,求解模的逆元等。 (在此顺便简介一下乘法逆元: 若有 a*x ≡ 1 (mod m...原创 2019-02-22 13:17:47 · 280 阅读 · 0 评论 -
卡特兰数
卡特兰数是组合数学里非常重要的一个序列,有幸看到了这位大佬的讲解,http://blog.miskcoo.com/2015/07/catalan-number ,讲的太好了,十分佩服。当然写代码的时候注意不要套公式,而是要用乘法来写。 ...转载 2019-02-22 19:30:09 · 179 阅读 · 0 评论 -
乘法逆元
乘法逆元是群论里非常重要的一个定义,这里不涉及群论,只探讨其定义和求法。 定义: 如果有ab ≡ 1(modp),则称b是mod p意义下a的乘法逆元。记b=inv(a) 或 b=a-1。 定义介绍完了,下面说说它的几种求法。 方法一:欧拉筛 第一想法很容易就能想到,对于每个合数 a ,我们把所有它的因子的逆元筛出来再相乘即可。(不要说枚举这种操作)但是,这个方法非常慢,所以我们要寻找更快的理论。...原创 2019-02-25 20:38:39 · 278 阅读 · 0 评论 -
(扩展)中国剩余定理
中国剩余定理又称孙子定理或者简称crt,是用于求解同余方程组的一种方法。 中国剩余定理: crt有特殊要求,就是m1,m2,…mn都要互质,此时令M = m1 * m2 … mn。Mi = M / m ...原创 2019-02-26 21:33:48 · 2114 阅读 · 0 评论 -
欧拉函数
欧拉函数(Euler’s totient function), φ(n)\varphi(n)φ(n) ,表示的是小于等于 nnn 和 nnn 互质的数的个数。 比如说 φ(6)=2\varphi(6) = 2φ(6)=2 。 当 n 是质数的时候,显然有 φ(n)=n−1\varphi(n) = n - 1φ(n)=n−1 。 利用唯一分解定理,我们可以把一个整数唯一地分解为质数幂次的乘积, 设 ...原创 2019-10-03 20:46:31 · 230 阅读 · 0 评论 -
高斯消元模板
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> #include <map> #include <sstream> #include <cctype> using...原创 2019-10-05 20:05:22 · 83 阅读 · 0 评论