「note」原根照抄
阶(multiplicative order)
\(\textbf{Def.}\):\(\delta_m(a)\) 为最小的 \(n\) 使得 \(a^n\equiv 1\pmod m\),其中 \((a,m)=1\)。
Observation 1:\(\boxed{a^0\not\equiv a^1\not\equiv\dots\not\equiv a^{\delta_m(a)-1}\pmod m}\)。
\(\textbf{Proof}\):若 \(\exists i,j,s.t.0\leqslant i<j<\delta_m(a),a^i\equiv a^j\pmod m\),则 \(a^{i-j}\equiv 1\pmod m\),又 \(i-j<\delta_m(a)\),矛盾。
\(\blacksquare\)
Observation 2:\(\boxed{\delta_m(a)\mid\varphi(m)}\)。
\(\textbf{Proof}\):由欧拉定理: \(a^{\varphi(m)}\equiv 1\pmod m\),因为 \(1^x=1\),所以如果存在 \(x_0\) 使得 \(a^{x_0}\equiv 1\pmod m\),那么 \(x_0\) 倍数也一定可以,也就是说存在周期性,所以 \(\delta_m(a)\mid\varphi(m)\)。BTW,同时也有若 \(a^n\equiv 1\pmod m\),则 \(\delta_m(a)\mid n\)。
\(\blacksquare\)
顺便可以知道若 \(a^p\equiv a^q\pmod m\),则 \(p\equiv q\pmod{\delta_m(a)}\)。
Lemma 1:设 \(m\in\mathbb{N}^*\),\(a,b\in\mathbb{Z}\),\((a,m)=(b,m)=1\),则 \(\boxed{\delta_m(ab)=\delta_m(a)\delta_m(b)}\) 的重要条件是 \((\delta_m(a),\delta_m(b))=1\)。
\(\textbf{Proof}\):略,具体见此处。
Lemma 2:设 \(k\in\mathbb{N}\),\(m\in\mathbb{N}^*\),\(a\in\mathbb{Z}\),\((a,m)=1\),则 \(\boxed{\delta_m(a^k)=\frac{\delta_m(a)}{(\delta_m(a),k)}}\)。
\(\textbf{Proof}\):略,具体见此处。
原根(primitive root)
\(\textbf{Def.}\):对于 \((a,m)=1\),若 \(\delta_m(a)=\varphi(m)\),则称 \(a\) 是模 \(m\) 的原根。
Lemma 1(判定定理):设 \(m\geqslant3\),\((a,m)=1\),则 \(a\) 为模 \(m\) 的原根当且仅当 \(\boxed{\forall p\in\mathbb{P},p\mid\varphi(m),a^{\frac{\varphi(m)}{p}}\not\equiv1\pmod m}\)。
\(\textbf{Proof}\):必要性显然,充分性证明见此处。
Lemma 2(数量定理):若 \(m\) 存在原根,则其原根数量为 \(\boxed{\varphi(\varphi(m))}\)。
\(\textbf{Proof}\):略,具体见此处。
Lemma 3(存在定理):\(m\) 存在原根当且仅当 \(\boxed{m=2,4,p^\alpha,2p^\alpha}\),其中 \(p\) 为奇素数,\(a\in\mathbb{N}^*\)。
\(\textbf{Proof}\):略,具体见此处。
若 \(m\) 存在原根,则最小原根 \(\leqslant m^\frac{1}{4}\)。
「note」原根照抄的更多相关文章
- 「NOTE」常系数齐次线性递推
要不是考到了,我还没发现这玩意我不是很会-- # 前置 多项式取模: 矩阵快速幂. # 常系数齐次线性递推 描述的是这么一个问题,给定数列 \(c_1,c_2,\dots,c_k\) 以及数列 \(f ...
- Note -「多项式」基础模板(FFT/NTT/多模 NTT)光速入门
进阶篇戳这里. 目录 何为「多项式」 基本概念 系数表示法 & 点值表示法 傅里叶(Fourier)变换 概述 前置知识 - 复数 单位根 快速傅里叶正变换(FFT) 快速傅里叶逆变换(I ...
- 「2014-5-31」Z-Stack - Modification of Zigbee Device Object for better network access management
写一份赏心悦目的工程文档,是很困难的事情.若想写得完善,不仅得用对工具(use the right tools),注重文笔,还得投入大把时间,真心是一件难度颇高的事情.但,若是真写好了,也是善莫大焉: ...
- 「USACO16OPEN」「LuoguP3147」262144(区间dp
P3147 [USACO16OPEN]262144 题目描述 Bessie likes downloading games to play on her cell phone, even though ...
- Python文字转换语音,让你的文字会「说话」,抠脚大汉秒变撒娇萌妹
作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) APP 也有文字转换为语音的功能,虽然听起来很别扭,但是基本能解决长辈们看不清文字或者眼睛疲劳,通过文字转换为 ...
- Ubuntu「一键」设置全局代理
Ubuntu「一键」设置代理 sonictl note: the DNS problem may be still there. Except proxychains. WSL (Windows Su ...
- 「数据结构」Link-Cut Tree(LCT)
#1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...
- 「译」JUnit 5 系列:条件测试
原文地址:http://blog.codefx.org/libraries/junit-5-conditions/ 原文日期:08, May, 2016 译文首发:Linesh 的博客:「译」JUni ...
- 「译」JUnit 5 系列:扩展模型(Extension Model)
原文地址:http://blog.codefx.org/design/architecture/junit-5-extension-model/ 原文日期:11, Apr, 2016 译文首发:Lin ...
- JavaScript OOP 之「创建对象」
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...
随机推荐
- RALB负载均衡算法的应用
一.背景 搜索推荐算法架构为京东集团所有的搜索推荐业务提供服务,实时返回处理结果给上游.部门各子系统已经实现了基于CPU的自适应限流,但是Client端对Server端的调用依然是RR轮询的方式,没有 ...
- 沉思篇-剖析Jetpack的ViewModel
ViewModel做为架构组件的三元老之一,是实现MVVM的有力武器. ViewModel的设计目标 ViewModel的基本功能就是管理UI的数据.其实,从职责上来说,这又是对Activity和Fr ...
- Taurus .Net Core 微服务开源框架:Admin 插件【2】 - 系统环境信息管理
前言: 继上篇:Taurus .Net Core 微服务开源框架:Admin 插件[1] - 微服务节点管理 本篇继续介绍下一个内容: 1.系统环境信息节点 - OS-Environment 界面 基 ...
- Linux系统运维之MYSQL数据库集群部署(主从复制)
一.介绍 Mysql主从复制,前段时间生产环境部署了一套主从复制的架构,当时现找了很多资料,现在记录下 二.拓扑图 三.环境以及软件版本 主机名 IP 操作系统 角色 软件版本 MysqlDB_Mas ...
- 【C#/.NET】MAUI上的依赖注入
引言 在移动应用开发中,依赖注入是一项非常重要的技术,它可以帮助我们简化代码结构.提高可维护性并增加测试覆盖率.在最新的.NET跨平台框架MAUI中,我们也可以利用依赖注入来构建高效的应用程序架构 ...
- 据说,Transformer 不能有效地进行时间序列预测?
简介 几个月前,我们介绍了 Informer 这个模型,相关论文 (Zhou, Haoyi, et al., 2021) 是一篇获得了 AAAI 2021 最佳论文奖的时间序列论文.我们也展示了一个使 ...
- 本地数据local storage和session storage
随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经常性在本地存储大量的数据, HTML5规范提出了相关解决方案. 本地存储特性 1.数据存储在用户浏览器 ...
- 【ssh】SSH连接远程主机的两种方式
一.基于用户名与密码连接 指令 ssh username@server_ip 随后要求输入密码 加密流程 1️⃣ 在SSH连接建立过程中,客户端和服务器使用Diffie-Hellman密钥交换协议协商 ...
- dash构建多页应用
dash 构建多页面应用一种方案 本方案对dash官网多页面案例使用dash_bootstrap_components案例进行优化与测试,效果如下 项目代码结构如下 │ app.py │ ├─asse ...
- Openjob 1.0.5 发布,新增 Agent
什么是 Openjob? Openjob 基于Akka架构的新一代分布式任务调度框架.支持多种定时任务.延时任务.工作流设计,采用无中心化架构,底层使用一致性分片算法,支持无限水平扩容. 完善的任务日 ...