noip级别数论?
TAT快noip了才开始去接触数论(真心不敢学。。)这里做一下整理吧(都是些定义之类的东西= =)
欧几里德:gcd(a,b)=gcd(b,a%b);具体证明见百科?
扩展欧几里德:
求a*x+b*y=gcd(a,b);
因为gcd(a,b)=gcd(b,a%b)即gcd(b,a-a/b*b);
所以可以递归求解:
递归到b=0时显然gcd为a,x=1,y=0;
已知b*x'+(a-a/b*b)*y'=gcd(b,a-b/b*b)=gcd(a,b)=a*x+b*y;
b*x'+(a-a/b*b)*y' = a*y'+b*(x'-a/b*y');
所以x=y';y=x'-a/b*y';
然后解显然不只一个。。设我们一开始求出来的解为x0,y0
x = x0 + b/Gcd(a, b) * k
y = y0 - a/Gcd(a, b) * k(k为任意整数)(代入一下就知道正确性了。。)
有的时候(似乎很多时候?)gcd(a,b)=1.....
各种低级应用:
不定方程向:
求x,y,使a*x+b*y=c;(只有c为gcd(a,b)的倍数时才有解)
解就是a*x+b*y=gcd(a,b)的每个解乘上c/gcd(a,b)。。或者说是a/gcd(a,b)*x+b/gcd(a,b)=1的每个解乘上c
解模线性方程(最基本的同余方程)ax ≡ b(mod p)
因为a*x mod p实际就是a*x-a*x/p*p..所以等价于解不定方程 a*x+p*y=b
乘法逆元向:
满足b*k≡1 (mod p)的k值就是b关于p的乘法逆元。
应用:
求(a/b) mod p的值时,a过大等等感人情况(比如求模意义下较大的组合数或者卡特兰数或者是奇怪的数学题?)
求b关于p的乘法逆元k,(a*k) mod p的结果与(a/b) mod p等价
证明:
已求出b*k≡1(mod p);
即b*k=p*x+1;
所以k=(p*x+1)/b;
a*k=a/b*(p*x+1)
(a*k) mod p
=(a/b*(p*x+1))mod p
=(a/b*p*x+a/b)mod p
=(a/b)mod p
求逆元:
a*k≡1(mod p)即a*k=p*x+1
相当于解不定方程a*k-p*x=1(a,p已知)
素数线性筛:
万年大坑现在才来填QAQ。。虽然以前用埃氏筛法似乎姿势好可以混过去?
埃氏筛法的缺点是合数可能会被多次筛到(取决于它有多少个质因数)
现在对于每个数i,
1、若i为素数,枚举不大于i的素数j,则i*j为合数(此时不可能有重复)
2、 i为合数,则设i=p1^a1*p1*a2*p3^a3。。。。(整数分解)
枚举所有小于或等于p1的素数j,i*j为合数
不会重复计算是因为每个数都是被它的最小质因数筛到的
欧拉函数线性筛:
设a为n的某个质因数,
1、若n/a整除a,则phi(n)=phi(n/a)*a(每个与n/a互质的数也与a互质)
2、 若n/a不整除a,则phi(n)=phi(n/a)*(a-1)(因为a是素数,phi(a)=a-1,gcd(a,n/a)=1,由欧拉函数的积性phi(n)=phi(n/a)*phi(a)......)
感觉今年noip考数论的话我就得直接退役了QAQ
UPD:2333今年没数论。。然而还是不会写的题还是不会TAT
noip级别数论?的更多相关文章
- noip级别模板小复习
不是很noip的知识点就不写了. dij什么的太easy就不写了. 缩点 注意\(Tarjan\)在缩边双和求强联通分量时候的区别. 一个要判断是否在栈内一个不要. 最后\(topsort\)来\(d ...
- NOIp 基础数论知识点总结
推荐阅读 NOIp 数学知识点总结: https://www.cnblogs.com/greyqz/p/maths.html Basic 常用素数表:https://www.cnblogs.com/g ...
- NOIP 考前 数论复习
POJ 2891 x=r1 (mod a1) x=r2 (mod a2) x=a1*x+r1,x=a2*y+r2; a1*x-a2*y=r2-r1; 用Extend_Gcd求出m1*x+m2*y=d; ...
- [总结] NOIP 前的考试记录
sb博主又犯sb错误了! 他觉得以往模拟赛因为犯sb错误扔的分足足有1k分了! 于是他想记录一下自己犯的sb错误看看自己到底有多sb! 嗯就从今天开始吧 2018.9.28 1. 二分边界写错.骚什么 ...
- 6.19 noip模拟题(题目及解析转自 hzwer 2014-3-15 NOIP模拟赛)
Problem 1 高级打字机(type.cpp/c/pas) [题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序 ...
- NOIP 2018 -The Wound-
"一招不慎,满盘皆输" 如果这个盘是整整一年的OI生涯的话 那么"一招"一定就是NOIP了 Update 2019/4/6 剧变的一年 noip这个成绩意味着我 ...
- 2016-06-19 NOIP模拟赛
2016-06-19 NOIP模拟赛 by coolyangzc 共3道题目,时间3小时 题目名 高级打字机 不等数列 经营与开发 源文件 type.cpp/c/pas num.cpp/c ...
- NOIp 数学知识点总结
推荐阅读 NOIp 基础数论知识点总结: https://www.cnblogs.com/greyqz/p/number.html 排列组合 常用公式 排列:\[\displaystyle A_n^m ...
- Noip2018退役记。
下面是边考试边写的严肃版退役记\(:D\) Day0 其实我本来想取个这个名字:\(NOIP2018\)提高组复赛试题解析 但是这个博客自己求生欲望太强自己改名了. 先占个坑. noip考前毒奶 \( ...
随机推荐
- Hibernate学习---单表查询
我们都知道SQL是非常强大的,为什么这么说呢?相信学过数据库原理的同学们都深有体会,SQL语句变化无穷,好毫不夸张的说可以实现任意符合我们需要的数据库操作,既然前面讲到Hibernate非常强大,所以 ...
- OC学习10——内存管理
1.对于面向对象的语言,程序需要不断地创建对象.这些对象都是保存在堆内存中,而我们的指针变量中保存的是这些对象在堆内存中的地址,当该对象使用结束之后,指针变量指向其他对象或者指向nil时,这个对象将称 ...
- bzoj 3991: [SDOI2015]寻宝游戏
Description 小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达.游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可 ...
- python匿名函数
文章导读: 以前自己一直没搞明白Python中的匿名函数,现在拿这个问题基本上搞明白了,拿自己的理解整成一篇文章,附带大量例子,让其更加好理解. 在编程语言中,函数的应用: 1. 代码块重复,这时候必 ...
- 脚本全选全不选操作asp.net treeview控件
//树节点勾选(取消)上级自动全部勾选(取消)下级,勾选下级自动勾选上级,取消全部下级,自动取消上级 //事件响应函数 var HandleCheckbox = function () { //取得事 ...
- Head First设计模式之目录
只有沉淀.积累,才能远航:沉沉浮浮,脚踏实地. 这本书已经闲置了好久,心血来潮,决定写个目录,让自己坚持看完这本书 创建型模式 抽象工厂模式(Abstract factory pattern): 提供 ...
- ts中interface与class的区别
interface -- 接口只声明成员方法,不做实现. class -- 类声明并实现方法. 那么接口有什么用呢?设想如下需求: 要实现一个print函数,它将传入的对象打印出来.在实际实现上,它将 ...
- 纯css去实现loading动画效果图
当项目中加载内容慢的的时候,需要显示一个loading动画效果图 之前我们使用的是一圈点点旋转的效果,现在设计修改为,如下gif图片效果-------------------------------- ...
- TCP网络编程-----客户端请求连接服务器、向服务器发数据、从服务器接收数据、关闭连接
SOCKET m_sockClient; unsigned short portNum; ------------------------------------------------------- ...
- 巧用CSS居中未知高度的块元素
在网页中让一个未知高度的块元素水平垂直居中是一个老生常谈的问题,但是总是有些特殊场景让你无法得心应手的实现居中,本文介绍几种常用的经典的居中方法,总有一种适合你! 1. position .paren ...