FCS NOI2018 DAY1(数论)
2018-02-08 21:52
211 查看
数论与组合数学基础
数论基础
整除: 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=(a±b)modp
(amodp)(bmodp)modp=abmodp(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标记为合数3.埃拉托斯特尼筛法(埃氏筛法):
优化:只要枚举a为质数的ab4.线性筛:
性筛法基本思想:每个数只被最小的质因子筛一次,即对于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
原根
常用的数论函数
注意!!!
欧拉函数
容斥原理
莫比乌斯函数
莫比乌斯反演
相关文章推荐
- FCS NOI2018 DAY1(数论)
- JZOJ5603. 【NOI2018模拟3.27】Xjz
- 【BZOJ1416/1498】【NOI2006】神奇的口袋(数论,概率)
- 2018 年度中国 LC3 Day1 日程全曝光
- BZOJ_5416_[Noi2018]冒泡排序_DP+组合数+树状数组
- HNOI 2014 Day1 米特运输
- PKUWC2018 & NOI WC2018 凉凉记
- 2018寒假福州集训记Day1
- NOI前总结:数论(素数部分)
- BZOJ 4195 NOI 2015 Day1 T1 程序自动分析
- 数论day1 —— 基础知识(们)
- Noi 2010 day1 第一题 能量采集
- BZOJ 2005 NOI2010 能量採集 数论+容斥原理
- 【BZOJ 2005】【NOI 2010】能量采集 数论+容斥原理
- 2018 年度中国 LC3 Day1 日程全曝光
- BZOJ_5418_[Noi2018]屠龙勇士_exgcd+excrt
- 【2018寒假集训 Day1】【位运算】桐桐的运输方案
- noi同步赛day1
- Noi 2010 day1 第二题 超级钢琴
- 【2018暑假集训模拟一】Day1题解