上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 29 下一页
摘要: 扩展欧几里德算法的简单应用,就是求解线性同余方程 先把这个等式做变形 只要保证b能整除a和m的最大公约数,即b是a和m最大公约数的倍数 就有解 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 ll 阅读全文
posted @ 2020-08-06 18:36 kyk333 阅读(140) 评论(0) 推荐(0)
摘要: 预备知识:裴蜀定理 a和b的最大公约数就是a和b能凑出来的最小的正整数 扩展欧几里得算法就是构造出来一种方式,使得对于任意的整数a和b,一定存在整数x和y,满足上式 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long lo 阅读全文
posted @ 2020-08-05 22:56 kyk333 阅读(158) 评论(0) 推荐(0)
摘要: 题目给出了a和p后,其实要求的就是 b是p的倍数时一定无解 b不是p的倍数时,由费马小定理一定有解 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 ll qmi(ll a, ll k, ll p) 阅读全文
posted @ 2020-08-05 15:29 kyk333 阅读(131) 评论(0) 推荐(0)
摘要: 快速幂时间复杂度O(log k),k是指数 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 ll qmi(ll a, ll k, ll p) { 5 ll res = 1; 6 while (k) 阅读全文
posted @ 2020-08-05 15:05 kyk333 阅读(123) 评论(0) 推荐(0)
摘要: 按照线性筛法求质数的方法,用O(n)的时间,求出1 ~ n中每一个数的欧拉函数 在线性筛的过程中,顺便求欧拉函数 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int N = 1e6 + 10; 4 typedef long lo 阅读全文
posted @ 2020-08-05 01:29 kyk333 阅读(372) 评论(0) 推荐(0)
摘要: 用定义求欧拉函数 互质是公约数只有1的两个整数,叫做互质整数 φ(6)= 2。1 2 3 4 5 6中和6互质的数是1和5 求一个数的欧拉函数的话,需要对这个数先分解质因数 证明方法:容斥原理 时间复杂度O(sqrt(n)) 1 #include <bits/stdc++.h> 2 using na 阅读全文
posted @ 2020-08-05 00:35 kyk333 阅读(307) 评论(0) 推荐(0)
摘要: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int mod = 1e9 + 7; 5 int gcd(int a, int b) { 6 return b ? gcd(b, a % 阅读全文
posted @ 2020-08-04 15:28 kyk333 阅读(241) 评论(0) 推荐(0)
摘要: 如何求一个数约数的个数以及如何求一个数约数的和:基于算数基本定理 题目一:约数个数 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int mod = 1e9 + 7; 5 int m 阅读全文
posted @ 2020-08-04 15:02 kyk333 阅读(196) 评论(0) 推荐(0)
摘要: 1:试除法求一个数的所有约数 一个数的约数也是成对出现的,所以在枚举时也可以只枚举较小的那一个 1 #include <bits/stdc++.h> 2 using namespace std; 3 vector<int> get_divisors(int n) { //求n的所有约数 4 vect 阅读全文
posted @ 2020-08-01 16:41 kyk333 阅读(476) 评论(0) 推荐(0)
摘要: 筛质数的核心思想: 先把所有数放进一个数组 然后从前往后看,把每一个数的倍数删掉 第一个数是2,就把所有2的倍数删掉,4,6,8,10,12 第二个数是3,就把所有3的倍数删掉,6,9,12 第二个数是4,就把所有4的倍数删掉,8,12 第二个数是5,就把所有5的倍数删掉,10 以此类推 这样筛完之 阅读全文
posted @ 2020-08-01 16:08 kyk333 阅读(219) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 29 下一页