闵神的数论
来源:互联网 发布:好伙伴物流软件 编辑:程序博客网 时间:2024/05/06 23:50
数论
推荐一篇关于逆元的blog
里面也有大部分今天讲的知识>-<
http://www.cnblogs.com/linyujun/p/5194184.html
- 数论
- 模运算
- 欧几里德算法求最大公约数
1. 模运算
除法定理
x=a*p+b,y=c*p+d;
x%p=b,y%p=d;
加减乘
x±y=(a±b)p+(c±d),设c±d=e*p+f,那么
x±y=(a±b+e)p+f,所以(x±y)%p=(c±d)%p=((x%p)±(y%p))%p
x*y=(a*c)*p^2+(b*c+a*d)*p+(c*d),设c*d=e*p+f
那么xy=(a*c*p+b*c+a*d+e)p+f,(xy)%p=(cd)%p=((x%p)(y%p)%p)
然而除法。。。
暴力除法不可取,因为除法不满足同余性质。
举个栗子;
8%7=1,2%7=2,(8/2)%7=4
((8%7)/(2%7))%7=excuse me?
减法和除法本质上是对加法和乘法的逆元做运算
听不懂的玄学逆元
http://www.cnblogs.com/linyujun/p/5194184.html
2. 欧几里德算法求最大公约数。
xa+yb=d=gcd(a,b)=gcd(b,a)=gcd(a,b-a);
因为b不断减a,直到小于a,相当于是b%a;
gcd(a,b)=gcd(a,b%a);
一行gcd
int gcd(int a,int b) {return !b? a:gcd(b,a%b);}
gcd(a,b)时间复杂度(loga+logb)[最坏情况取在斐波那契数列两个相邻数上]
扩展欧几里德
欧拉定理
若x与p互余
阅读全文
0 0
- 闵神的数论
- 【数论】bzoj3601一个人的数论
- BZOJ 2219 数论之神 数论
- bzoj 2219: 数论之神 数论
- 数论问题的举例
- 一些数论的公式
- 数论的一些定理
- HDU1013-简单的数论
- 数论的一些公式
- 数论的典型例题
- 最大的最大公约数-数论
- 数论基本理论的整理
- 青蛙的约会 (数论)
- 一些数论的公式
- 数论的一些函数
- 数论的若干定理
- 数论的模问题
- 数论的一些公式
- CatBoost: A machine learning library to handle categorical (CAT) data automatically MACHINE LEARNING
- 这是别人的添加监听事件的方法
- bootstrap之transition
- Badboy自动化测试工具6 Variable Setter
- React中constructor(){}
- 闵神的数论
- 类的概述·main方法中参数String[] argv的意义讲解
- 主成分分析(PCA)
- python基础系列教程——python中的字符串和正则表达式全解
- CentOS 7安装Python3.5
- Qt:自定义进度条
- 找新朋友(欧拉定理)
- 不想提交表单但是想利用表单校验功能
- 汇编语言-输出HelloWorld