数论与组合数学基础


数论基础

整除: a整除b 记做a|b
因数与倍数: a|b即a是b的因数,b是a的倍数
带余除法: 对于整数a,b(b!=0),设a除以b的商为q,余数为r,则a=bq+r,q,r为整数且0≤r≤|b|
模: a除以b余数为r,记为a modb = r
同余: a,b模p同余即a,b除以p的余数相同,记做a≡b(mod p)


类比十进制运算个位数的规律,不难发现:
(amodp±bmodp)modp=(a±b)modp
(amodp)(bmodp)modp=abmodp
注意C++的取模和取余是不一样的,C++的取模是保留符号
的,如(−4) mod 3 = 2,但C++中(-4)%3=-1


质数:正因数只包含1和它本身的正整数(2,3,5,7···)
合数:正因数包含除1和它本身外的数的正整数
(4,6,8,9···)


筛质数

1.暴力枚举

枚举i=1,2,……,n 判断i是否包含【2,√i】内的因数(因数集合具有对称性) 效率太低,考虑改进!!!!

2.一种筛(不知道叫啥)

枚举正整数a,b ≥ 2且ab ≤ n,将ab标记为合数
FCS NOI2018 DAY1(数论)

3.埃拉托斯特尼筛法(埃氏筛法):

优化:只要枚举a为质数的ab
FCS NOI2018 DAY1(数论)

4.线性筛:

性筛法基本思想:每个数只被最小的质因子筛一次,即对
于a是质数,b的最小质因子不小于a的整数对a,b,标记ab为合数
实现:先枚举b,再枚举a,枚举到a|b时结束
FCS NOI2018 DAY1(数论)


质数分布定理:π(n) ∼n/lnn ,π(n)为n以内质数个数
所以存放质数的数组可以开小一些


FCS NOI2018 DAY1(数论)


给定正整数n ≤ 10 7 ,求n的质因数分解式

O(n)预处理n以内质数,同时预处理每个合数x的最小质因
子p x
每次分解不断将n提取一个p x
由于每提取一个质因子n就会减半,单次分解复杂
度O(logn)


最小公倍数与最大公约数

a,b的最大公因数为最大的正整数c,c|a且c|b,记
作c = gcd(a,b)或c = (a,b),特别地(a,0) = (0,a) = 0

a,b的最小公倍数为最小的正整数c,a|c且b|c,记
作c = lcm(a,b)或c = [a,b]
性质:

(a,b) = (a,b ± a)
FCS NOI2018 DAY1(数论)

(a,b) · [a,b] = ab

FCS NOI2018 DAY1(数论)


给定正整数a 0 ,a 1 ,b 0 ,b 1 ,求有多少个正整数x满足:
1. x和a 0 的最大公约数是a 1
2.x和b 0 的最小公倍数是b 1
不超过2000组数据,a 0 ,a 1 ,b 0 ,b 1 ≤ 2 × 10 9
FCS NOI2018 DAY1(数论)


原根

FCS NOI2018 DAY1(数论)


常用的数论函数

FCS NOI2018 DAY1(数论)

注意!!!
FCS NOI2018 DAY1(数论)

FCS NOI2018 DAY1(数论)


欧拉函数

FCS NOI2018 DAY1(数论)

容斥原理

FCS NOI2018 DAY1(数论)

FCS NOI2018 DAY1(数论)

FCS NOI2018 DAY1(数论)

FCS NOI2018 DAY1(数论)


莫比乌斯函数

FCS NOI2018 DAY1(数论)

莫比乌斯反演

FCS NOI2018 DAY1(数论)

相关文章:

  • 2021-12-19
  • 2021-08-26
  • 2021-06-11
  • 2021-11-23
  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
猜你喜欢
  • 2021-12-21
  • 2022-12-23
  • 2021-12-27
  • 2021-06-26
  • 2021-12-15
  • 2021-12-26
  • 2021-09-18
相关资源
相似解决方案