博客主题更新啦!!很多链接还没有完善,会慢慢补充的,客官先将就着看吧!
随笔分类 - 数论
摘要:取模与异或 Description 求 (n mod 1)⊕(n mod 2)⊕⋯⊕(n mod n)。 n\leq 10^{11}。 Input Format 一行,一个正整数n。 Output Format 一行,一个正整数表示
阅读全文
摘要:简单数论 质因子分解 素性测试 素性测试指的是对一个正整数是否为质数的判定,一般来说,素性测试有两种算法: 1. 试除法,直接尝试枚举因子,时间复杂度O(\sqrt n)。 2. Miller Rabin算法,利用费马小定理和二次探测定理对素数进行测试,有小概率误判,时间复杂度$O(
阅读全文
摘要:Lucas定理 在 "『组合数学基础』" 中,我们已经提出了Lucas定理,并给出了Lucas定理的证明,本文仅将简单回顾,并给出代码。 Lucas定理:当p为质数时,$C_n^m\equiv C_{n\ mod\ p}^{m\ mod\ p} C_{n/p}^{m/p}(mod\
阅读全文
摘要:简单积性函数 在学习欧拉函数的时候,相信读者对积性函数的概念已经有了一定的了解。接下来,我们将相信介绍几种简单的积性函数,以备dirichlet卷积的运用。 定义 数论函数:在数论上,对于定义域为正整数,值域为复数的函数,我们称之为数论函数。 积性函数:对于数论函数f,若满足$gcd(a,b
阅读全文
摘要:Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x using namespace std; const int N=60020,Uplim=5e4; int a,b,k,vis[N],Prime[N],mui[N
阅读全文
摘要:余数之和 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值 其中k mod i表示k除以i的余数。 例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 +
阅读全文
摘要:Möbius函数 定义 设正整数n算数基本定理分解后为n=\prod_{i=1}^{k}p_i^{a_i},定义函数 $$ \mu(n)= \begin{cases} 0\ \ (\exists\ i\in[1,k],a_i 1) \\( 1)^k\ \ (\forall\ i\in[1,k
阅读全文
摘要:乘法逆元 我们知道,由于同余的运算只定义在整数集中,而整数集不满足除法封闭,所以同余是不满足同除性的。但是,如果有涉及取模操作的计数类题目当中需要除法运算怎么办,这就需要乘法逆元了。 定义 若整数b,m互质,且b|a,则存在一个整数x,满足$\frac{a}{b}\equiv ax(mo
阅读全文
摘要:扩展欧几里得算法 顾名思义,扩欧就是扩展欧几里得算法,那么我们先来简单地回顾一下这个经典数论算法。 对于形如ax+by=c的不定方程,扩展欧几里得算法可以在O(log_2a+log_2b)的时间内找到该方程的一组特解,或辅助gcd判断该方程无解。 对于扩欧的详细讲解,可见 "『扩展欧几里
阅读全文
摘要:同余 同余是数论中一个重要的概念,若整数a与整数b除以正整数m的余数相等,则称a,b再模m意义下同余,记为a\equiv b(mod\ m)或m|(a b)。 同余基础性质 1.a≡a (mod\ m),自反性 2.若a≡b (mod\ m),则$b≡
阅读全文
摘要:高次同余方程 一般来说,高次同余方程分a^x \equiv b(mod\ p)和x^a \equiv b(mod\ p)两种,其中后者的难度较大,本片博客仅将介绍第一类方程的解决方法。 给定a,b,p,其中gcd(a,p)=1,求方程a^x \equiv b(mod\ p)的最小
阅读全文
摘要:更新了Ex CRT的内容 线性同余方程 定义 给定整数a,b,m,对于形如ax\equiv b(mod\ m)的同余方程我们称之为一次同余方程,即线性同余方程。 解线性同余方程 对于此类方程,我们可以用如下方法快速的求解。 ax\equiv b(mod\ m)⇔m|ax b
阅读全文
摘要:欧拉函数 定义 \forall\ a,b\in N,若gcd(a,b)=1,则称a,b互质。 对于一个正整数n,我们将1 n中与n互质的数的个数称为欧拉函数,记为\phi(n)。 求解 若在算数基本定理中,有$n=p_1^{a_1} p_2^{a_2} ... p_k
阅读全文
摘要:火车进出栈问题 Description 一列火车n节车厢,依次编号为1,2,3,…,n。每节车厢有两种运动方式,进栈与出栈,问n节车厢出栈的可能排列方式有多少种。 Input Format 一个数,n(n代码片段:将!n分解质因数 Code: cpp //prime[i]存了1 n范围内的所
阅读全文
摘要:素数(Prime)及判定 定义 素数又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数,否则称为合数。 1既不是素数也不是合数。 判定 如何判定一个数是否是素数呢?显然,我们可以枚举这个数的因数,如果存在除了它本身和1以外的因数,那么这个数就是素数。 在枚举时,有一个很简
阅读全文
摘要:Euclid算法(gcd) 在学习扩展欧几里得算法之前,当然要复习一下欧几里得算法啦。 众所周知,欧几里得算法又称gcd算法,辗转相除法,可以在O(log_2b)时间内求解(a,b)(a,b的最大公约数)。 其核心内容可以陈述为:(a,b)=(b,a\%b),然后反复迭代该式缩小$a,b
阅读全文