
数学知识
文章平均质量分 77
数学知识
DearLife丶
“翻滚的时代浪潮中,曾有多少灵魂抗争”
展开
-
高斯消元~
用途:高斯消元可以在n3时间复杂范围内,求解含n个方程,n个未知数的多元线性方程组。解的可能有三种:无解、无穷多组解、唯一解。做法:高斯消元可以通过初等行列变化把增广矩阵转换成阶梯型矩阵,进而求解 n 个线性方程组的解。初等行列变换:1.把某一行乘一个非0的数(方程左右两边同乘)2.交换某两行的位置3.把某一行的若干倍加到另一行上经过如上这三种操作,将原来的增广矩阵变成一个上三角的形式例线性方程组为:a11x1 + a12x2 + a13x3 + … + a1nxn = b1a21x1原创 2021-08-12 11:59:33 · 505 阅读 · 0 评论 -
数论(六)——扩展欧几里得算法
目录欧几里得算法裴蜀定理扩展欧几里得算法欧几里得算法欧几里得算法,即辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。核心原理:gcd(a,b) = gcd(b,a mod b)一个基本的性质:d | a,d | b,d | (a+b),d | (ax + by)(d能整除a,d能整除b,那么d就能整除a+b,也能整除a的若干倍+b的若干倍)int gcd(int a,int b){ re原创 2021-08-02 11:44:40 · 510 阅读 · 0 评论 -
数论(五)—— 快速幂
快速幂用于快速求出 ak mod p 的结果(时间复杂度O(logk),其中 1 ≤ a,p,k ≤ 109)如果不用快速幂的话,就得循环做 a * a 共 k 次,如果 k = 1e9,那么就要乘109次,时间复杂度就太高了,所以我们要用快速幂解决此类问题。原理1)先预处理这些值:a20 mod p,a21 mod p,a22 mod p … … a2logk mod p2)组合出aK也就是把k拆成20,21…若干个2的次幂之和ak = a2x1·a2x2·… · a2xt = a2x1+2x2原创 2021-08-01 14:08:00 · 416 阅读 · 0 评论 -
数论(四)——欧拉函数
目录欧拉函数用公式求欧拉函数筛法求欧拉函数欧拉函数定义:在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目。注:1.φ(1)=12.互质是公约数只有1的两个整数,叫做互质整数。公式:n 分解质因数后:n=p1a1 × p2a2 × p3a3 … pkak,(其中 pi 为质数)那么 φ(n) = n × (1 - 1/p1) × (1 - 1/p2) ×… ×(1 - 1/pk)公式证明: 思路: 1.从1—n中去掉p1,p2…pk的的倍数;2.加上所有pi原创 2021-07-30 12:57:12 · 2293 阅读 · 1 评论 -
数论(三)——约数(约数个数,约数和,公约数)
目录试除法求约数求约数个数约数之和欧几里得算法试除法求约数试除法求一个数的所有约数,思路与判断质数的思路一样,优化的方法也是一样的,这里就不再赘述,没有看过我之前关于质数的博客可以点这里。从小到大枚举所有约数,但是我们只需要枚举每一对儿中较小的一个就可以了。时间复杂度:O(sqrt(n))vector<int> get_divisors(int n){ vector<int> res; //vector数组存储一个数的所有约数 for(int i =原创 2021-07-29 11:37:04 · 7642 阅读 · 4 评论 -
数论(二)——质数筛(埃式筛法、欧拉筛法)
目录埃式筛法(朴素筛法)埃式筛法(朴素筛法)思路:从2到x-1枚举,逐渐删去某个数的倍数。如图,用不同颜色的斜线表示每一轮删除操作从2开始,删除2的倍数;删除3的倍数;删除5的倍数;最后留下2,3,5,7,11均为质数。这样做的时间复杂度是O(nlogn)容易发现,我们可以对这个算法做出优化,我们并不需要重复地删每个数的倍数,我们只需要删除每个质数的倍数就行了。质数定理:1~n中有 n/ln(n) 个质数优化后的时间复杂度:O(nloglogn) <了解即可>直接写优化后原创 2021-07-28 17:48:16 · 481 阅读 · 0 评论 -
数论(一)—— 质数(判断质数、分解质因数)
目录质数质数的判定——试除法分解质因数——试除法质数定义:在大于1的整数中,如果只包含1和本身这两个约数,就倍称为质数或素数。质数的判定——试除法最暴力的写法:时间复杂度O(n)bool is_prime(int x){ if(x < 2) return false; for(int i = 2; i < x; i ++ ) if(x % i == 0) return false; return true;}从定义出发,首先看这个数是不是原创 2021-07-28 11:36:40 · 901 阅读 · 1 评论