总得来说,这是可怕的一天,极其可怕的一天(完)

一、数论

阴影啊!

首先,设ab为两个整数,则存在唯一的q和r,使得a=qb+r

若r=0,则b整除a,记作b|a。

(1)同余

若a/m和b/m的余数相同,则称a于b对模m同余,记作a ≡ b (mod m)

剩余系:在模 m 的意义下,余数相同的数归为一个集合,那么所有整数被分为 m个不同的集合,模 m 的余数分别为 0,1,2,3,...,m − 1,这些集合被称为模 m 剩余类(同余类)。每个同余类中的任意两个整数都是模 m 同余的。__by dzy(就是模m的余数集合)

若是剩余系遍历了0~m-1,则叫做完全剩余系

  • 同余式的三则运算:
  • 设 a,b,c,d 为整数,m 为正整数,若 a ≡ b (mod m),c ≡ d(mod m),则:

  • ax + cy ≡ bx + dy (mod m),其中 x,y 为任意整数,即同余式可以相加()
  • ac ≡ bd (mod m),即同余式可以相乘a n ≡ b n (mod m),其中 n > 0
  • f(a) ≡ f(b) (mod m),其中 f(x) 为任一多项式。
  • a n ≡ b n (mod m),其中 n > 0

(2)素数

判断素数的方法:一般是从2开始,枚举到√ n,依次判断i是否能整除n,若n=pq,则pq中的一个必定小于等于√ n。

但是,如果硬生生跑√ n,那么如果需要素数的话可能会把评测姬卡哭喔

所以我们需要:

素数筛

原理1:考虑在每找到一个素数的时候把它的倍数也标记上。这样就可以实现:大大减少

复杂度:O(nloglogn)基本达到线性。

但是它还有优化的空间:

比如12,跑到2的时候它被筛了一次,跑到3的时候它又被干了一次

所以极端情况评测姬还是会被卡哭....

我们强制命令每一个数都只被它的最小质因数给筛去,

于是,伟大的线性筛出生了

原理2:每一个数都只被它的最小质因数给筛去

下for解释:

如果大于上界,退出,

标记非质数

如果i被之前的素数筛过了(这里保证了线性,即每个数只来一遍)

三、欧拉函数(φ(n))是指不超过n且与n互质的数的个

  • p是一个质数,则φ(p)=p-1(除了1都与p互质)(逆定理依旧成立)
  • p是质数,a是正整数,则(显然只有p的倍数与p^a 不互质,故可得到上式)
  • 如果mn互质,则φ(mn)=φ(m)*φ(n)必须互质!!(证明长啊。。。甩个链接https://cdn.luogu.org/upload/pic/69862.png)

欧拉定理:如果a,m互质,那么:

此证明不难理解:

*x1 * x2 * x3.....xφ(m)≡x1 * x2 * x3.....xφ(mod m)

同除

x1x2x3......

常用的是:费马小定理

当 p 是质数,a ̸= p 时,有 a p−1 ≡ 1 (mod p)。。

广义欧拉定理:

证明是真的不会....放链接https://blog.csdn.net/zxyoi_dreamer/article/details/82929466

四、gcd部分

lcm(最小公倍数)(a,b)=ab/gcd(a,b);

求算gcd:欧几里得算法(辗转相除)

原理:gcd(a,b)=gcd(b,a-b)

设 (a,b) = g,a = cg,b = dg,那么 (c,d) = 1。
(b,a − b) = (d,c − d)g。
如果 (d,c − d) = q ̸= 1,那么 (c,d) ≥ q ̸= 1,矛盾。
所以 (b,a − b) = (d,c − d)g = g。

所以gcd就诞生了

int gcd(int a,int b)
{
if(b==)return a;
else gcd(b,a%b);
}(短小精悍)

exgcd(一次不定方程)

考虑求解方程:ax+by=c

有解的情况是:gcd(a,b)|c。

当b=0,gcd(a,b)=a;

当b!=0,gcd(a,b)=gcd(b,a%b);

所以原方程——>bx2+(a%b)y2=gcd(b,a%b)

于是我们就可以递归求解。

五、逆元

在一些情况下,(比如组合数)要边除边膜,这样可能暴毙。。。

所以逆元登场了。除一个数等于乘一个数的倒数,所以逆元就是除数膜的倒数

来看看正经的定义:

若(a,m)=1,且ab≡ 1 (mod m),则b就是a%m意义下的逆元。

(a/b≡ a ∗ c (mod m))

求解逆元的方法:

1、费马小定理

根据定义,ab≡ 1 (mod m),及费马小定理,得:

所以a^(p-2)*a≡1(mod p)所以得a^p-2是a的逆元

2、exgcd

已知exgcd可用于求解ax+by=1的解,那么exgcd怎么求算逆元呢?

如果ax+by=1,则ax≡1(mod m)所以x就是a在模m意义下的逆元。

3、线性递推

https://www.cnblogs.com/qdscwyy/p/7795368.html

六、多元一次不定方程

1、二元一次不定方程

exgcd.....系数同除以c,然后解再乘上c就行了

2、多元方程组

n元一次不定方程:

当且仅当(a1; a2; :::; an)|c,方程有解。

怎么解呢?

设(a1; a2) = d2; (d2; a3) = d3; :::; (dn-1; an) = dn,那么方程等价于:

于是可以从最后一个开始求,然后代回去,直到第一个。

3、一元线性同于方程:

形如ax≡b (mod m)

等价于ax-my=b,直接exgcd即可。

形如

的可爱方程组~(彻底败给了dzy大神的讲解顺序啊....先exCRT再CRT.....真的醉了)

(1)CRT解法 限制:m1,m2,互质,若m不互质,甚至可以质因数分解强行互质.....

令ei=1/Mi*Mi mod m

则:

所以,

(2)exCRT(合并法)

考虑两两合并:

由于x≡b(mod m)等价于x-my=b,

当:

根据上述展开,得

所以,我们令m=lcm(m1,m2),此方程就变成了:

最后得到一个方程,那么这个解就是最终解

七、神仙

实在是看不懂,老师也没有讲,果然还是我太弱了

day3(数论)的更多相关文章

  1. Day3:T1数论+高精 T2搜索

    T1:数论+高精(水~) 根据题意可知,从除的数越大越好(在0~9中) 所以我们只要用到高精除然后再模拟一下就可以了 //MARK:但是要注意0-9这个特殊值需要特判,因为题目要求输出的数至少是两位数 ...

  2. 【CCPC-Wannafly Winter Camp Day3 (Div1) F】小清新数论(莫比乌斯反演+杜教筛)

    点此看题面 大致题意: 让你求出\(\sum_{i=1}^n\sum_{j=1}^n\mu(gcd(i,j))\). 莫比乌斯反演 这种题目,一看就是莫比乌斯反演啊!(连莫比乌斯函数都有) 关于莫比乌 ...

  3. 简单数论 | Day3 部分题解

    A - The Euler function 来源:HDU 2824 计算[a,b]区间内的整数的欧拉函数值,需要掌握单个欧拉函数和函数表的使用. #include <iostream> ...

  4. qbxt Day3 on 2019-8-18

    qbxt Day3 on 2019-8-18 一.基础数论 1.进制转换 进制转换是一个非常简单且基础的问题. 也许我们只需要...Emmm... 列个式子就好了鸭 设\(k\)进制数每一位上是\(a ...

  5. Codeforces Round #382 Div. 2【数论】

    C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...

  6. NOIP2014 uoj20解方程 数论(同余)

    又是数论题 Q&A Q:你TM做数论上瘾了吗 A:没办法我数论太差了,得多练(shui)啊 题意 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, ...

  7. 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)

    ~>>_<<~ 咳咳!!!今天写此笔记,以防他日老年痴呆后不会解方程了!!! Begin ! ~1~, 首先呢,就看到了一个 gcd(a,b),这是什么鬼玩意呢?什么鬼玩意并不 ...

  8. hdu 1299 Diophantus of Alexandria (数论)

    Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  9. 【BZOJ-4522】密钥破解 数论 + 模拟 ( Pollard_Rho分解 + Exgcd求逆元 + 快速幂 + 快速乘)

    4522: [Cqoi2016]密钥破解 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 290  Solved: 148[Submit][Status ...

随机推荐

  1. 人生,还没困难到"非死不可"

    最近半个月,美国著名的Facebook公司,出了好几件大事.第一件事,2019年9月19日,一名陈姓中国软件工程师在Facebook加州总部跳楼自杀.第二件事,2019年10月4日,一名软件工程师在座 ...

  2. js常用正则整理

    个人博客: http://mcchen.club //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.ex ...

  3. drf 框架

    一. drf简介 drf框架,全程: django-rest framework  ,   rest是插件名字,django插件的名字叫rest,framework是框架的意思 二. 接口 在平时生活 ...

  4. Web Storage和cookie的区别——每日一题20190629

    Web Storage? 使用HTML5可以在本地存储用户的浏览数据. 使用的主要目的是为了克服Cookie带来的一些限制,当数据需要被严格控制在客户端上时,无需持续的将数据发回服务器 主要目标: 1 ...

  5. day 20作业

    目录 1.下面这段代码的输出结果将是什么?请解释. 2.多重继承的执行顺序,请解答以下输出结果是什么?并解释. 3.什么是新式类,什么是经典类,二者有什么区别?什么是深度优先,什么是广度优先? 4.用 ...

  6. Spring Boot2 系列教程(十一)Spring Boot 中的静态资源配置

    当我们使用 SpringMVC 框架时,静态资源会被拦截,需要添加额外配置,之前老有小伙伴在微信上问松哥 Spring Boot 中的静态资源加载问题:"松哥,我的 HTML 页面好像没有样 ...

  7. 安装VMworkstation和Centos虚拟机

    1.安装VMware workstation. 2.下一步. 3.可以选择安装位置,下面选项不选. 4.这两个选项不需要选. 5.下一步 6.安装 7. 8.点击许可证输入密钥,密钥在网上搜,然后就完 ...

  8. Kibana 快速入门教程

    欢迎关注笔者的公众号: 小哈学Java, 专注于推送 Java 领域优质干货文章!! 个人网站: https://www.exception.site/kibana/kibana-tutorial 什 ...

  9. API---注册表编程

    首先来认识一下键,项,值吧: 左边有五个根键: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USER HKEY_CURREN ...

  10. Thief-Book 上班摸鱼神器

    Thief-Book 上班摸鱼神器 介绍 Thief-Book 是一款真正的摸鱼神器,可以更加隐秘性大胆的看小说. 隐蔽性 自定义透明背景,随意调整大小,完美融入各种软件界面 快捷性 三个快捷键,实现 ...