
数论
文章平均质量分 78
简单数论相关OJ
Ypuyu
Ypuyu
展开
-
[M数学] lc3233. 统计不是特殊数字的数字数量(筛素数+埃式筛+线性筛+周赛408_2)
挺有意思的一个题目哈,思路转换到后面就是找到。区间内部的所有质数平方的个数。原创 2024-07-28 23:07:09 · 451 阅读 · 0 评论 -
[M数学] lc650. 只有两个键的键盘(dp+思维+质因数)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:650. 只有两个键的键盘2. 题目解析十分好的一道题目啊。数学的 O(n)O(\sqrt n)O(n) 解法,和 dp 的 O(n)O(n)O(n) 解法都很不错。方法一:数学+质因数分解考虑,n=x1∗x2∗...∗xkn=x_1*x_2*...*x_kn=x1∗x2∗...∗xk,我们可视为 x1x_1x1 是先复制一次,然后粘贴 x1−1x_1-1x1−1 次,那么现在的总长度就是:原有的一个 A 加上 x1−1x_原创 2021-09-19 23:45:12 · 256 阅读 · 0 评论 -
[数学] aw3815. 最大约数(模拟+分解质因数+CF588B)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:3815. 最大约数模板:[数论+模板] 分解质因数(模板)2. 题目解析数学题。将 nnn 分解质因数,n=p1b1p2b2...pkbkn=p_1^{b_1}p_2^{b_2}...p_k^{b_k}n=p1b1p2b2...pkbk,那么 nnn 的约数就是 p1、p2、...pkp_1、p_2、...p_kp1、p2、...pk 组成。且要求约数是完美数,约数自身不存在平方项的约数,那么为了保证所求最大,即res=原创 2021-08-24 20:08:55 · 155 阅读 · 0 评论 -
[数论] aw1356. 回文质数(线性筛+整除性质+知识总结)
文章目录1. 题目来源2. 题目解析1. 题目来源链接:1356. 回文质数前置知识,必看必复习:[数论+模板] 三大质数筛法(线性筛+素数问题+模板)2. 题目解析来自百度:整除的相关性质见了很多次这个题了,今天终于下定决定补一下了…数据范围 1e8,即 1 亿的时间复杂度,O(n) 都是非常难处理的,希望能将其降为 1e7 以下最好。考虑 1e7<=x<=1e8 其中有 8 位数,如果还是回文数的话,那么可表示为 a1a2a3a4a5a6a7a8a_1a_2a_3a_4原创 2021-07-27 20:41:59 · 323 阅读 · 0 评论 -
[数论基础] 1. 输出素数(素数筛、线性筛、Miller-Rabbin 素性测试、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:素数筛+巧妙解法方法二:线性筛+巧妙解法方法三:Miller-Rabbin 素数测试+巧妙解法1. 题目来源链接:79. 输出素数2. 题目说明3. 题目解析方法一:素数筛+巧妙解法题意很明确,这应该是学习完语言基础,甚至是循环判断基础后就应该会做的题目。但是会做不代表能在这道题目上拿到满分。光是这一道题目就能产生 5 个层...原创 2020-04-22 16:52:41 · 409 阅读 · 1 评论 -
[数论基础] 2. 阶乘分解(暴力、因子分解、线性筛、巧妙解法)
文章目录1. 题目来源2. 题目说明3. 题目解析方法一:暴力+常规解法方法二:线性筛+因子分解技巧+巧妙解法1. 题目来源链接:310. 阶乘分解2. 题目说明3. 题目解析方法一:暴力+常规解法即便冒着会 TLE 的风险,也要暴力试上一发,毕竟暴力出奇迹。设计到唯一分解定理即算术基本定理,数论的基础知识,在这就不赘述了。暴力思路如下:首先考虑 n=1 中的情况,按照质因子分解...原创 2020-04-22 19:21:02 · 902 阅读 · 1 评论 -
[数论+素数判定] 试除法判定质数(基础+边界问题+代码风格)
文章目录1. 试除法+代码风格1. 试除法+代码风格866. 试除法判定质数质数定义: 质数是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。试除法判定质数思路:最基础:从 2 ~ n - 1 依次枚举查看能否整除,即存在了其它因子,则不为素数。时间复杂度 O(n)O(n)O(n)。算法优化:因子总是成对出现,则只需要枚举到 n\sqrt nn 即可。时间复杂度为 O(n)O(\sqrt n)O(n)。代码优化:不要使用 i<=sqrt(n)i <=原创 2020-10-31 16:36:29 · 239 阅读 · 0 评论 -
[数论+模板] 分解质因数(模板)
文章目录1. 分解质因数+模板1. 分解质因数+模板867. 分解质因数百度百科:算术基本定理思路:暴力枚举:从小到大枚举 nnn 的所有约数,如果 n%i==0n \% i == 0n%i==0 则除尽求出该因子的次数。时间复杂度 O(n)O(n)O(n)。算法优化: nnn 中最多只包含一个大于 n\sqrt nn 的质因子。如果枚举结束,nnn 还大于 1 ,那么说明这就是那个大于 n\sqrt nn 的质因子。时间复杂度 O(n)O(\sqrt n)O(n)。这里分解质因数原创 2020-10-31 16:55:19 · 1781 阅读 · 0 评论 -
[数论+模板] 三大质数筛法(线性筛+素数问题+模板)
文章目录1. 朴素埃筛+模板2. 埃筛+模板3. 线性筛+模板1. 朴素埃筛+模板868. 筛质数可参考:[数论基础] 1. 输出素数(素数筛、线性筛、Miller-Rabbin 素性测试、巧妙解法)思路:从 2 到 nnn 将每一个数的所有倍数全部筛掉。这样筛过之后剩余的所有数都是质数。因为对于任意一个数 ppp,如果它没被筛掉,那么意味着从 2 到 p−1p-1p−1 都没有它的因数,则为质数。时间复杂度分析:n2+n3+⋯nn=n(12+13+⋯1n)\frac n 2 + {\fra原创 2020-11-01 00:18:14 · 1660 阅读 · 1 评论 -
[数论+模板] 约数相关算法模板(模板)
文章目录1. 求约数+模板2. 约数个数+模板3. 约数之和+模板4. 最大公约数+模板1. 求约数+模板869. 试除法求约数思路:约数成对出现,试除枚举的时候仅枚举较小的那个约数即可,所以可以枚举到 n\sqrt nn 即可。故时间复杂度为 O(n)O(\sqrt n)O(n)注意平方数不要将其相同约数加两遍模板代码:#include <iostream>#include <algorithm>#include <vector>usi原创 2020-11-01 02:09:00 · 244 阅读 · 0 评论 -
[数论+模板] 欧拉函数算法模板及欧拉定理、费马定理简单证明(模板)
文章目录1. 公式求解欧拉函数+模板2. 筛法求解欧拉函数+模板1. 公式求解欧拉函数+模板873. 欧拉函数重点: 欧拉函数、容斥原理、分解质因数数学式子还是手写推公式比较爽,原谅我的丑字…时间复杂度分析:算法时间受限于分解质因数。分解质因数的时间复杂度为 O(n)O(\sqrt n)O(n),故该算法时间复杂度就是 O(n)O(\sqrt n)O(n)。总共 nnn 个数,则总的时间复杂度为 O(nn)O( n\sqrt n)O(nn)即,100∗2e9100* \sqrt原创 2020-11-01 11:38:09 · 354 阅读 · 1 评论 -
[数论+模板] 快速幂及快速幂求逆元算法模板(模板)
文章目录1. 公式求解欧拉函数+模板2. 筛法求解欧拉函数+模板1. 公式求解欧拉函数+模板873. 欧拉函数重点: 欧拉函数、容斥原理、分解质因数数学式子还是手写推公式比较爽,原谅我的丑字…时间复杂度分析:算法时间受限于分解质因数。分解质因数的时间复杂度为 O(n)O(\sqrt n)O(n),故该算法时间复杂度就是 O(n)O(\sqrt n)O(n)。总共 nnn 个数,则总的时间复杂度为 O(nn)O( n\sqrt n)O(nn)即,100∗2e9100* \sqrt原创 2020-11-01 19:19:41 · 480 阅读 · 2 评论 -
[数论+模板] 裴蜀定理及扩展欧几里得算法模板(模板)
文章目录1. 裴蜀定理与扩展欧几里得定理的证明2. 扩展欧几里得算法+模板3. 快速幂求逆元+模板1. 裴蜀定理与扩展欧几里得定理的证明也可参考大佬题解2. 扩展欧几里得算法+模板877. 扩展欧几里得算法重点: 扩展欧几里得算法有关于递归的部分,递归结束之后应该得到了 a 和 b 的最大公约数。在此关于递归函数内部传参有两种写法exgcd(b, a % b, x1, y1); 这个完全以原问题出发,推导 gcd(a, b) = gcd(b, a % b) 这个式子的拓展欧几里得展开式,原创 2020-11-01 21:12:53 · 345 阅读 · 0 评论 -
[数论+模板] 中国剩余定理+表达整数的奇怪方式(模板+数论难题)
文章目录1. 中国剩余定理证明+模板1. 中国剩余定理证明+模板204. 表达整数的奇怪方式重点: 中国剩余定理、同余方程这道题目很难。目前来讲。 貌似和中国剩余定理没啥用到…是个等价变形。强烈推荐大佬题解模板代码:#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL exgcd(LL a, LL b, LL &x, LL &原创 2020-11-01 23:33:40 · 195 阅读 · 1 评论