FCS NOI2018 DAY1(数论)

数论与组合数学基础


数论基础

整除: 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 ( a m o d p ± b m o d p ) m o d p = ( a ± b ) m o d p
(amodp)(bmodp)modp=abmodp ( a m o d p ) ( b m o d p ) m o d p = a b m o d p
注意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标记为合数
这里写图片描述

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

优化:只要枚举a为质数的ab
这里写图片描述

4.线性筛:

性筛法基本思想:每个数只被最小的质因子筛一次,即对
于a是质数,b的最小质因子不小于a的整数对a,b,标记ab为合数
实现:先枚举b,再枚举a,枚举到a|b时结束
这里写图片描述


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


这里写图片描述


给定正整数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)
这里写图片描述

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

这里写图片描述


给定正整数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
这里写图片描述


原根

这里写图片描述


常用的数论函数

这里写图片描述

注意!!!
这里写图片描述

这里写图片描述


欧拉函数

这里写图片描述

容斥原理

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述


莫比乌斯函数

这里写图片描述

莫比乌斯反演

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值