首页 > 其他分享 >2024.1.15闲话

2024.1.15闲话

时间:2025-01-15 21:33:04浏览次数:1  
标签:2024.1 15 gcd 原根 pmod 闲话 varphi delta equiv

可能是不知道什么学习笔记捏

使得 \(a^x\equiv 1\pmod m\) 的最小正整数 \(x\) 被称为 \(a\) 模 \(m\) 的阶,记作 \(\delta_m(a)\)。由欧拉定理可知, \(a\perp m\) 是 \(\delta_m(a)\) 存在的充要条件。

证明

充分性:若 \(a\perp m\),根据欧拉定理,\(x=\varphi(m)\) 就是一个解,所以阶一定存在。

必要性:若 \(a\not\perp m\),那么 \(a^x\not\perp m\),所以 \(\gcd(a^x,m)\ne 1\),所以 \(a^x\not\equiv 1\pmod m\)。(可以裴蜀定理证)

这玩意有几个优秀的性质。

  • \(a,a^2,a^3,\cdots,a^{\delta_m(a)}\) 模 \(m\) 两两不同余。
证明

可以反证,如果 \(a^i\equiv a^j\pmod m (i\ne j)\),那么有 \(a^{|i-j|}\equiv 1\pmod m\),那么显然有 \(0<|i-j|<\delta_m(a)\),与 \(\delta_m(a)\) 的定义冲突。

  • 若 \(a^x\equiv 1\pmod m\),那么有 \(\delta_m(a)|x\)。
证明

假设 \(x\mod \delta_m(a)\) 余数为 \(r(0\le r<\delta_m(a))\)。

那么有 \(a^r\equiv a^r(a^{\delta_m(a)})^k\equiv a^n\equiv 1\pmod m\),与 \(\delta_m(a)\) 的定义矛盾。

  • 若 \(\gcd(a,m)=\gcd(b,m)=1\),那么 \(\delta_m(ab)=\delta_m(a)\delta_m(b)\) 的充要条件是 \(\gcd(\delta_m(a),\delta_m(b))=1\)。
  • \(\delta_m(a^k)=\frac{\delta_m(a)}{\gcd(\delta_m(a),k)}=\frac{\operatorname{lcm}(\delta_m(a),k)}{k}\)。

(懒得打\(\LaTeX\)了,重点也不是这个,证明就不写了)

可以直接 BSGS 求解这玩意喵。

原根

我超,原

若 \(m\in \mathbb{N}_+,g\in \mathbb{Z}\),若 \(\gcd(g,m)=1\) 且 \(\delta_m(g)=\varphi(m)\),则称 \(g\) 是模 \(m\) 的原根。

为什么要这玩意呢?我也不知道

因为这个东西的 \(0\sim m-1\) 次幂 \(\bmod\;m\) 可以取遍 \(0\sim m-1\),那么就可以把一些乘的东西换成指数上的加。(好像在求解高次剩余相关东西的时候有用?)

可以直接用定义去求原根。

考虑如何判定一个数 \(a\) 是不是 \(m\) 的原根,等价于判定 \(a\) 的所有 \(k\) 次幂模 \(m\) 均不等于 \(1\),其中 \(k\) 为 \(\varphi(m)\) 的真因数

但是直接枚举 \(k\) 肯定不行啊,复杂度是 \(O(2^d)\) 的,考虑如何优化。

由 \(a^x\equiv 1\pmod m\Rightarrow \delta_m(a)|x\) 可知,只需要考虑 \(k\) 是不是 \(\delta_m(a)\) 的倍数,那么就只要考虑 \(\varphi(m)\) 除以它的一个质因子 \(p\) 是否为 \(a\) 的阶的倍数,因为显然 \(\frac{\varphi(m)}{p}\) 取遍了所有真因数的倍数。

那么就可以得到一个定理——原根判定定理:对于 \(m\ge 3,a\perp m\),\(a\) 是 \(m\) 的原根的充要条件为对于任意的 \(\varphi(m)\) 的质因子 \(p\),有 \(a^{\frac{\varphi(m)}{p}}\not\equiv 1\pmod {m}\)。

还有一个原根存在定理(一个数 \(m\) 存在原根的充要条件为 \(m=2,4,p^a,2p^a\),其中 \(p\) 为奇质数),一个原根个数定理(若一个数 \(m\) 存在原根,那么它的原根个数为 \(\varphi(\varphi(m))\))。懒得写证明哩,可以当结论记喵。

有大佬证明了素数 \(p\) 的最小原根 \(g_p=O(n^{0.25+\epsilon})\) 的,这就说明可以直接暴力求。

p

没有,不知道挂啥。

没有,还是不知道挂啥。

有了,挂个逆天的不知道啥。

标签:2024.1,15,gcd,原根,pmod,闲话,varphi,delta,equiv
From: https://www.cnblogs.com/hzoi-Cu/p/18673753

相关文章

  • 使用Nginx实现前端映射到公网IP后端内网不映射公网.250115
    一、场景:系统移动端需要映射到公网,但是后端地址不能映射出去qbpm.xxxx.cn系统解析内网IPqmbpm.xxxx.cn移动端解析公网IP二、思路:移动端前端公网端口放出80443端口移动端后端映射到内网后端地址qbpm.xxxx.cn:8443三、解决方法:vimnginx.confserver{listen......
  • 1.11-1.15做题笔记
    说句闲话主要记录了一模考完之后做的一些题,有难的也有比较简单的,都是一些不属于任何比赛的题,所以放在这里统一记录了。P3551[POI2013]USU-Take-out题目大意有\(n\)块砖,其中白色是黑色的\(k\)倍,求一个消除序列,满足以下条件:每次消除\(k+1\)个砖,其中\(k\)块白色,\(1\)......
  • 【网络云SRE运维开发】2025第3周-每日【2025/01/15】小测-【第14章ospf高级配置】理论
    文章目录【网络云SRE运维开发】2025第3周-每日【2025/01/15】小测-【第14章ospf高级配置】理论和实操14.1选择题在H3C设备上配置OSPF时,以下哪个命令用于启动OSPF进程?A.[H3C]ospfenableB.[H3C]ospf1C.[H3C]ospfstartD.[H3C]ospfprocessOSPF区域0......
  • 【网络云SRE运维开发】2025第3周-每日【2025/01/15】小测-【第14章ospf高级配置】理论
    文章目录14.1选择题解题思路和参考答案14.2理论题解题思路和参考答案14.3实操题解题思路和参考答案思科(Cisco)设备华为(Huawei)设备小米/锐捷(或其他支持标准CLI命令的设备)通过网络管理工具注意事项【网络云SRE运维开发】2025第3周-每日【2025/01/15】小测-【第14章o......
  • 2025/1/15 力扣每日一题(3066. 超过阈值的最少操作数 II)
    来源:LeetCode链接:https://leetcode.cn/problems/minimum-operations-to-exceed-threshold-value-ii/description/?envType=daily-question&envId=2025-01-15题目:给你一个下标从0开始的整数数组nums和一个整数k。一次操作中,你将执行:选择nums中最小的两个整数x和y......
  • 2025-1-15-十大经典排序算法 C++与python
    文章目录十大经典排序算法比较排序1.冒泡排序2.选择排序3.插入排序4.希尔排序5.归并排序6.快速排序7.堆排序非比较排序8.计数排序9.桶排序10.基数排序十大经典排序算法十大经典排序算法可以分为比较排序和非比较排序:前者包括冒泡排序、选择排序、插......
  • 本地打包docker images并上传到服务器.250115
    情景:服务器dockerPull拉不下来dockerpulleaszlab/kubeasz-k8s-bin:v1.31.2Get"https://registry-1.docker.io/v2/":net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)2025-01-1417:06:35[ezdown:767]......
  • 日常训练2025-1-15
    日常训练2025-1-15E.Sakurako,Kosuke,andthePermutationrating:1400https://codeforces.com/contest/2033/problem/E思路(贪心)模拟一下题目逻辑我们发现,所以简单排列都是经过12345...n这样的排列通过每个数只能跟其他位置的一个数有一次交换,或者不交换变来的,......
  • 2025-01-15:执行操作可获得的最大总奖励 Ⅰ。用go语言,给定一个整数数组 rewardValues,其
    2025-01-15:执行操作可获得的最大总奖励Ⅰ。用go语言,给定一个整数数组rewardValues,其中包含n个代表奖励值的数字。你开始时的总奖励x为0,并且所有下标都是未标记状态。你可以进行以下操作若干次:1.从索引范围[0,n-1]中选择一个未标记的下标i。2.如果rewardValues[i]......
  • 《CPython Internals》阅读笔记:p151-p151
    《CPythonInternals》学习第9天,p151-p1510总结,总计1页。一、技术总结无。二、英语总结(生词:1)1.marshal(1)marshalingMarshallingormarshaling(USspelling)istheprocessoftransformingthememoryrepresentationofanobjectintoadataformsuitablefo......