2018年5月6日
摘要: ACM数论——欧几里得与拓展欧几里得 欧几里得算法: 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 int gcd(int a,int b) { 阅读全文
posted @ 2018-05-06 16:35 slp0622 阅读(434) 评论(0) 推荐(1) 编辑
摘要: ACM数论——快速幂 快速幂定义: 顾名思义,快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。 原理: 以下以求a的b次方来介绍: 把b转换成二进制数。该二进制数第i位的权为 例如 11的二进制是1011 11 = 2³×1 + 2²×0 + 阅读全文
posted @ 2018-05-06 16:05 slp0622 阅读(466) 评论(0) 推荐(0) 编辑
摘要: ACM数论——素数 素数定义: 质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数,这样的数称为质数。例 子:2、3、5、7、11、13、17、19。(那时候还有一种说法叫做“质数”,但是就语言上来说,我觉得“素数”这种叫法和“合数”比 阅读全文
posted @ 2018-05-06 15:41 slp0622 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 算法分类合集 ACM 所有算法 数据结构 栈,队列,链表 哈希表,哈希数组 堆,优先队列双端队列可并堆左偏堆 二叉查找树Treap伸展树 并查集集合计数问题二分图的识别 平衡二叉树 二叉排序树 线段树一维线段树二维线段树 树状数组一维树状数组N维树状数组 字典树 后缀数组,后缀树 块状链表 哈夫曼树 阅读全文
posted @ 2018-05-06 00:16 slp0622 阅读(366) 评论(0) 推荐(0) 编辑