上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 23 下一页

2020年12月10日

摘要: 题目链接:https://www.acwing.com/problem/content/206/ 推导过程: 存疑处也就是不知如何从在求出x*a+y*b=m同余方程的一个解的情况下求出x和y的通解。 补充:假设求的x=x1,y=y1 那么ax1+by1=m ax1+by1+kab-kab=m(k为整 阅读全文
posted @ 2020-12-10 15:40 greenofyu 阅读(150) 评论(0) 推荐(0)

2020年12月9日

摘要: 正常的欧几里得算法 1 int gcd(int a,int b){ 2 return b==0?a:gcd(b,a%b); 3 } 可以在O(n)的时间复杂度内,求出a和b两数的最大公约数。 而扩展欧几里得算法则可以在求出最大公约数的同时,求出两个数x,y,使得x*a+y*b=gcd(a,b),用处 阅读全文
posted @ 2020-12-09 10:58 greenofyu 阅读(117) 评论(0) 推荐(0)

2020年12月8日

摘要: 1、欧拉定理 欧拉定理,若a与p互质,那么a ^ (phi[n]) ≡ 1 (mod n) 证明:假设x1,x2....x(phi[n])是1~n中与n互质的数 可以发现,他们是两两不同的。 将每个数都乘以a,得ax1,ax2....ax(phi[n]) 假设我们已经证明在mod n的情况下,x1* 阅读全文
posted @ 2020-12-08 17:41 greenofyu 阅读(712) 评论(0) 推荐(0)
摘要: 正常求a^b的方法是迭代,但是效率太低,时间复杂度为O(n) 所以就有了快速幂的诞生 快速幂的基本思想是二进制。将指数用化为二进制表示,那么就只剩下logb + 1位,然后如果能够在小于O(logn)的时间复杂度内建立出一张2^0~2^(log b +1)的表的话,就能在O(log n)的时间复杂度 阅读全文
posted @ 2020-12-08 14:54 greenofyu 阅读(108) 评论(0) 推荐(0)
摘要: 在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1) 互质指的就是gcd(a,b)=1。 所以对于某个数n,求他的欧拉函数可以直接用暴力。 1 int gcd(int a,int b){ 2 return b==0?a:gcd(b,a%b); 3 } 4 int 阅读全文
posted @ 2020-12-08 12:05 greenofyu 阅读(215) 评论(0) 推荐(0)

2020年12月3日

摘要: 1、试除法求约数 朴素想法是直接枚举1-n,如果n%i==0,i就是约数 但是考虑到约数是成对出现的,假设i是n的约数,那么n/i也是n的约数,所以只需要枚举到sqrt(n)即可 时间复杂度为:sqrt(n),需要证明排序的复杂度小于求约数的复杂度 排序复杂度是nlogn,那么我们就得知道n有多少个 阅读全文
posted @ 2020-12-03 17:56 greenofyu 阅读(458) 评论(0) 推荐(0)

2020年12月2日

摘要: 质数定义:只有1和本身两个约数的数称为质数(或素数) 1、试除法判断质数 根据定义,对于某个数n,枚举2-n-1,看是否能够整除,以此判断是否为质数 但是因为因子是成对出现的,所以只需要枚举到<=sqrt(n)即可 1 //时间复杂度sqrt(n) 2 #include<iostream> 3 us 阅读全文
posted @ 2020-12-02 22:08 greenofyu 阅读(398) 评论(0) 推荐(0)

2020年11月24日

摘要: 二分图的最大匹配的意思就是给定一个二分图,找出最多的边,使得一个点不会同时在两条边的端点上。 举个例子就是,有一堆男生和一堆女生,每个男生和某些女生相互之间有一定的好感度,我们作为月老,秉持宁拆一座庙,不毁一桩婚的原则,希望最后的配对数目最多。 而匈牙利算法就是解决这样一个问题的算法。 匈牙利算法的 阅读全文
posted @ 2020-11-24 14:19 greenofyu 阅读(224) 评论(0) 推荐(0)
摘要: 二分图的定义是可以把一个图的点分成两个集合,使得集合内部没有边 可以证明如果一个图可以被2染色,那么它就是一个二分图 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 const int N=1e5+10,M=2*N; 阅读全文
posted @ 2020-11-24 14:08 greenofyu 阅读(184) 评论(0) 推荐(0)

2020年11月23日

摘要: kruskal算法的时间复杂度瓶颈在排序上 1 #include<iostream> 2 #include<algorithm> 3 using namespace std; 4 int n,m; 5 const int N=1e5+10,M=2e5+10,INF=0x3f3f3f3f; 6 str 阅读全文
posted @ 2020-11-23 16:47 greenofyu 阅读(122) 评论(0) 推荐(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 23 下一页