摘要: ## 欧几里得算法 欧几里得算法基于的性质: 1. 若$d|a, a|b$,则$d|(ax+by)$ 2. $(a,b)=(b,a~mod~b)$ 第二条性质证明: $\because a~mod~b=a-\lfloor \frac{a}{b} \rfloor\times b$,令$c=\lfloo 阅读全文
posted @ 2022-05-09 23:54 跳岩 阅读(96) 评论(1) 推荐(1) 编辑
摘要: 这里放了一些我觉得在学习各种筛和数论定理之前,应该了解的小知识,可以对数论有一个初步的印象。包括了: 1. 质数的概念,约数的概念,以及一个非常重要又简单的定理:整数唯一分解。我们应该会在后面见到它很多次。 2. 解题的时候,或者写暴力的时候,我们也经常的需要求约数的各种性质,因此这里列的代码还是蛮 阅读全文
posted @ 2022-05-09 23:43 跳岩 阅读(157) 评论(1) 推荐(1) 编辑
摘要: 筛法,个人觉得在基础阶段牢固的掌握埃氏筛和欧拉筛就很好了。它们是很好用的工具,用途也很广泛,甚至会用在一些(我)意想不到的地方。 ## 筛法 #### 1. 埃氏筛 * 主要思想:筛掉所有质数的倍数 * 代码 ```c++ // 为什么j可以从i*i开始? // 假设i=7, 那么比i小的所有的质数 阅读全文
posted @ 2022-05-09 23:30 跳岩 阅读(155) 评论(1) 推荐(1) 编辑
摘要: ## 组合数 #### 1. 求组合数 根据不同的数据范围,求组合数也可以运用不同的方法。由于这是中学的内容,所以这里就不详细介绍了。 求解的总的式子: $C_a^b=\frac{a!}{b!(a-b)!}$ 表示从$a$个物品中选出$b$个的方案数。 ##### (1) **递推法** 使用递推式 阅读全文
posted @ 2022-05-09 23:20 跳岩 阅读(241) 评论(1) 推荐(1) 编辑