数论进阶-Preknowledge

参考资料:洛谷网校2018夏季省选基础班SX-3数论进阶课程及课件

一、整除与取整除法

1.1 定义

1、整除

\(\forall~x,y~\in~Z^+,\) 若 \(\exists~k~~,~~s.t.~y~=~kx\),则称 \(y\) 是 \(x\) 的倍数,\(x\) 整除 \(y\)。记做 \(x~|~y\)

2、取整

\(\forall~x~\in~Q\),\(\lfloor x \rfloor\) 代表不大于 \(x\) 的最大整数,\(\lceil x \rceil\) 代表不小于 \(x\) 的最大整数。

3、取整除法

\(\forall~x,y~\in~Z\),\(\left \lfloor \frac{y}{x} \right \rfloor\) 代表 \(y\) 关于 \(x\) 的带余除法表达式中 \(x\) 一项的系数

1.2 性质

1、取整除法引理 \((1.2.1)\)

\(\forall~x,y~\in~Z\),\(\left \lfloor \frac{y}{x} \right \rfloor~\times~x~\leq~y\)

证明:

根据取整除法的定义易得

\[\left\lfloor \frac{y}{x} \right\rfloor~\leq~\frac{y}{x}\]

等式两侧同乘 \(x\) 得

\(\left\lfloor \frac{y}{x} \right\rfloor~\times~x~\leq~\frac{y}{x}~\times~x~=~y\)

证毕

2、倍数个数定理 \((1.2.2)\)

\(\forall~n,d~\in~Z^+\),在 \([1,n]\) 中,共有 \(\left \lfloor \frac{n}{d} \right \rfloor\) 个数是 \(d\) 的倍数

证明:

将 \(d\) 的倍数从小到大排序,分别为 \(x_1~,~x_2~,\dots~x_k\),则显然 \(x_i~=~i~\times~d\)。于是其中最大的数字 \(x_k~=~k~\times~d\)。

若 \(k~<~\left \lfloor \frac{n}{d} \right \rfloor\),设 \(k'~=~\left\lfloor \frac{d}{n} \right \rfloor\) 根据引理 \(1.2.1\),\(d~\times~k'~\leq~n\) 且 \(k~\times~d~<~k'~\times~d\),这与 \(x_k\) 是最大的数字矛盾

若 \(k~>~\left \lfloor \frac{n}{d} \right \rfloor\),根据引理 \(1.2.1\),\(d~\times~k~>~n\),不合要求

于是 \(k~=~\left \lfloor \frac{n}{d} \right \rfloor\)。

证毕

3、商的个数定理 \((1.2.3)\)

\(\forall~n~\in~Z^+\),则 \(d~\in~[1,n]\) 时 \(\left \lfloor \frac{n}{d} \right \rfloor\) 的取值共有 \(O(\sqrt{n})\) 种

证明:

分两种情况,当 \(d~\leq~\sqrt{n}\) 时,\(d\) 共有 \(O(\sqrt{n})\) 种取值

因为对于 \(n\) 的一个因数 \(x\),必然能找到一个数 \(y\) 使得 \(x~\times~y~=~n\),这样的 \(x,y\) 是一一对应的,故而对于每个大于 \(\sqrt{n}\) 的因数 \(x\),必然存在一个 \(y~,s.t.~~x~\times~y~=~n\)。

因为 \(y~>~\sqrt{n}\),所以 \(x~<~\sqrt{n}\)。这样的 \(x\) 共有 \(O(\sqrt{n})\) 种,由一一对应关系, \(y\) 也有 \(O(\sqrt{n})\) 种。于是总的取值共有 \(O(\sqrt{n})\) 种。

证毕

4、例题

Description

给出一个 \(n\),求 \(\sum_{i=1}^{n}~\left \lfloor \frac{n}{i} \right \rfloor\)。\(n~\leq~10^{12}\)

Solution

既然商只有 \(O(\sqrt{n})\) 个,于是考虑直接枚举商。考虑枚举商等价于对每个商 \(j\) 枚举每一个最小的 \(i\) 使得 \(j~=~\left \lfloor \frac{n}{i} \right \rfloor\)。考虑最大的满足上式的 \(k\),则 \(k~=~\left \lfloor \frac{n}{j} \right \rfloor\)。将在下方给出证明。则商为 \(j\) 时最答案的贡献是 \((k~-~i~+~1)~\times~j\)。最小的 \(i\) 显然为 \(1\),如果求出了最大的 \(k\),则对应下一个商的 \(i\) 显然为 \(k~+~1\)。根据定理 \(1.2.3\),时间复杂度 \(O(\sqrt{n})\)。

下面证明最大的 \(k\) 使得 \(j~=~\left \lfloor \frac{n}{k} \right \rfloor\) 的值为 \(\left \lfloor \frac{n}{j} \right \rfloor\):

考虑当 \(k~,~j~\in~Q\) 时,\(j~=~\frac{n}{k}\) 的图像是一个反比例函数。当等号右侧改成取整后,相当于所有的 \(j\) 都向下移到了最靠近的纵坐标为整数的点上。于是 \(k~\times~j~\leq~n\)。则 \(k~\leq~\left \lfloor \frac{n}{j} \right \rfloor\)。最大的 \(k\) 显然是 \(\left \lfloor \frac{n}{j} \right \rfloor\)

证毕。

二、同余

2.1 定义

\(\forall~x,y,p~\in~Z^+\), 若 \(x~\bmod~p~=~y~\bmod~p\),则称 \(x,y\) 在 模 \(p\) 域下同余,记为 \(x~\equiv~y~\pmod p\)

2.2 性质

同余式支持同余号两侧同加、减、乘。同时具有对称性,自反性,传递性。

\(x~\equiv~y~\pmod p\) 的另一表达是 \(p~|~(x-y)\)。(不妨设\(x~\geq~y\))

三、剩余系

3.1 完全剩余系

对于一个正整数 \(n\),模 \(n\) 意义下的完全剩余系为正整数集全体对 \(n\) 取模的结果的集合,记为 \(Z_n\)

一般的,\(Z_n~=~\{0~,~1~,~2~,~\dots~,n~-~1\}\)

3.2 简化剩余系

对于一个正整数 \(n\),模 \(n\) 意义下的简化剩余系为模 \(n\) 意义下的完全剩余系中与 \(n\) 互质的元素的集合,记为 \(Z_n^*\)

于是我们得到了欧拉函数的另一种表示:\(\phi(n)~=~|Z_n^*|\)

四、逆元

定义略

4.1逆元存在的定理(4.1.1)

\(a\) 在 模 \(n\) 意义下存在逆元当且仅当 \(a~\perp~n\),我们约定数论中 \(a~\perp~b\) 意为 \(a\) 和 \(b\) 互质

证明:

设 \(ax~\equiv~1~\pmod n\) 。本式可以写成 \(ax~\bmod~n~=~1\)假设 \(a\) 和 \(n\) 有共同因子 \(p~(p~>~1)\) ,则一定有 \(p~|~(ax~\bmod~n)\)。又因为 \(p~>~1\),\(ax~\bmod~n~=~1\),产生矛盾。于是一定是一定满足 \(a~\perp~b\)。

证毕

五、模意义下的幂次

5.1 次方同余一的存在性\((5.1.1)\)

\(\forall~a,n~\in~Z^+~,s.t~~a~|~n\),则一定 \(\exists~k~>~0~,~~s.t.~~a^k~\equiv~1~\pmod n~\)

证明:

由 \(a~|~n\),得 \(\forall~k~\in~Z^+,(a^k~\bmod~n)~\in~Z_n^*\)。由于有无穷多个 \(a^k\),且 \(Z_n^*\) 大小有限,于是一定存在 \(i~>~j~\land~a^i~\equiv~a^j~\pmod n\)。两侧同乘 \(a^j\) 的逆元,则 \(a^{i-j}~\equiv~1~\pmod n\)。

证毕

5.2 阶的定义

\(\forall~a,n~\in~Z^+,~s.t.~~a~|~n\),定义满足 \(a^k~\equiv~1 \pmod n\) 的最小正整数 \(k\) 为 \(a\) 在 模 \(n\) 意义下的阶,记为 \(<a>\)。

5.3 阶的性质

在模 \(n\) 意义下一定有 \(<a>~|~\phi(n)\)。其中 \(\phi\) 代表欧拉函数

证明:

反证法,假设 \(<a>~\nmid~\phi(n)\) 。根据欧拉定理,有 \(a^{\phi(n)}~\equiv~1~\pmod n\) 。根据阶的定义,有 \(a^{<a>}~\equiv~1~\pmod n\)。于是显然有 \(a^{\phi(n) \bmod <a>}~\equiv~1~\pmod n\) 且 \(\phi(n)~\bmod~<a>~\neq~0\)。根据带余除法, \(\phi(n)~\bmod~<a>~<~<a>\)。这与 \(<a>\) 是最小的满足 \(a^k~\equiv~1~\pmod n\) 的整数 \(k\) 矛盾。

证毕。

5.4 原根

若 \(<a>~=~\phi(n)\),则称 \(a\) 是 \(n\) 的原根。

【数论】数论进阶-Preknowledge的更多相关文章

  1. [BZOJ4772]显而易见的数论(数论)

    4772: 显而易见的数论 Time Limit: 40 Sec  Memory Limit: 256 MBSubmit: 76  Solved: 32[Submit][Status][Discuss ...

  2. 洛谷$P5330\ [SNOI2019]$数论 数论

    正解:数论 解题报告: 传送门$QwQ$ ,,,这题还蛮妙的$QwQ$(,,,其实所有数论题对我来说都挺妙的$kk$然后我真的好呆昂我理解了好久$QAQ$ 考虑先建$Q$个点,编号为$[0,Q)$,表 ...

  3. NOIP复习之1 数学数论

    noip一轮复习真的要开始啦!!! 大概顺序是这样的 1.数学 2.搜索贪心 3.数据结构 4.图论 5.dp 6.其他 数学 1.数论 数论被称为数学皇冠上的明珠,他的重要性主要在于它是其他学习的祖 ...

  4. REHの收藏列表

    搬运自本人的AcWing,所以那里的文章会挺多. 友链(同类文章) :bztMinamoto 世外明月 mlystdcall 新人手册:AcWing入门使用指南 前言 有看到好文欢迎推荐(毛遂自荐也可 ...

  5. 写在SDOI2016Round1前的To Do List

    理性的整理了一下自己的不足. 计算几何啥都不会,字符串类DP毫无练习,数据结构写的不熟,数论推不出式子,网络流建模常建残: 需要达成的任务: 一.网络流: 熟练网络流的板子(之前一直仰慕zkw费用流, ...

  6. 夏令营讲课内容整理 Day 6 Part 2.

    Day 6的第二部分,数论 数论是纯粹数学的分支之一,主要研究整数的性质   1.一些符号: a mod b 代表a除以b得到的余数 a|b a是b的约数 floor(x) 代表x的下取整,即小于等于 ...

  7. LOJ #6303. 水题 (约数 质因数)

    #6303. 水题 内存限制 10 MiB 时间限制:1000 ms 标准输入输出 题目描述 给定正整数 n,kn, kn,k,已知非负整数 xxx 满足 n!modkx=0,求 xmaxx_{max ...

  8. 清明 DAY2

    数论 数论是研究整数性质的东西 也就是 lim   π(x)=x/ ln x (x->无穷) 证明: ∵ p|ab ∴ ab有因子p 设 a=p1k1p2k2......prkr      b= ...

  9. 【洛谷p1403 】【AHOI2005】约数研究

    (有种失踪人口回归的感觉) 约束研究[传送门] (不过好像没有人注意到我这个蒟蒻) 好的不管它啦 最近学数论比较多,所以可能会有好多好多的数论题???(不存在的) 行吧上算法标签: 数论   数论  ...

随机推荐

  1. 创建第一个Scrapy项目

    d:进入D盘 scrapy startproject tutorial建立一个新的Scrapy项目 工程的目录结构: tutorial/ scrapy.cfg # 部署配置文件 tutorial/ # ...

  2. Linux 安装Redis<单机版>(使用Mac远程访问)

    阅读本文需要先阅读安装Redis<准备> redis依赖 yum install gcc-c++ 解压 cd redis压缩包所在目录 tar -xvf redis-4.0.10.tar. ...

  3. dubbo 微服务

    # spring-dubbo-service 微服务 项目地址:https://github.com/windwant/spring-dubbo-service spring dubbo servic ...

  4. HPUX修改disk实例号--11.31only

    有时由于一些原因或者用户的要求,需要修改Disk的实例号,这里简单介绍如何手工进行修改. 在修改之前需要做一些准备工作,即先将stale状态的设备文件清理掉,具体步骤如下: 使用ioscan命令列出s ...

  5. pyextend库-merge可迭代对象合并函数

    pyextend - python extend lib merge (iterable1, *args) 参数:  iterable1: 实现 __iter__的可迭代对象, 如 str, tupl ...

  6. Centos上搭建git服务

    1.安装Git $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum ...

  7. 移动端rem用法总结

    先介绍一下这个近年来突起的黑马 CSS3中新增的属性,从IE9开始兼容,手机端都兼容.参考的是<html>这个标签的font-size.rem中的r就是root根的意思.所以rem要比em ...

  8. 到底什么是BFC、IFC、GFC和FFC,次奥?

    软件开发的一般被称为民工,搞前端的,有人形容为是掏粪工,说白了连民工级别高都没有.说直接点就是个制作界面的,注意,连设计界面的都算不上,一般前端都是拿着设计稿去照这样子开发的. 说这些无非是觉得前端前 ...

  9. strace 命令

    介绍 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...

  10. c# 捕获一般获取不到的异常

    1.主函数入口加异常事件,代码例如: /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void M ...