首页 > TAG信息列表 > pmod

数论全家桶

欧几里得算法 引理 \(1\):\((a,b) = (a,a-b)\) 令 \((a,b)=d,(a,a-b)=k\)。 \(a \equiv 0 \pmod d, b \equiv 0 \pmod d,a-b \equiv 0 \pmod d\),所以 \(k \ge d\) \(a \equiv 0 \pmod d, a-b \equiv 0 \pmod d,b=a-(a-b) \equiv 0 \pmod d\),所以 \(d \ge k\)

Millar-Rabin 米勒罗宾算法小结 (内附费马小定理证明以及二次探测定理证明)

因为他我学了龟速乘 Millar-robin 米勒罗宾 这个小东西是用来素数判定的,且听我细细道来。 前置知识 肥妈小定理 又名费马小定理 : 当一个数 \(x\) 不是一个质数 \(p\) 的倍数时有: \[x^{p-1} \equiv 1 \pmod{p} \]证明: 对于一个序列 \[b = \left \{1,2,3....p-1\right \} \]令 \[

关于一加一碰手游戏的一点研究

首先介绍 “一加一碰手游戏”。 具体规则是这样的: 游戏有两个玩家,每个玩家有两只手。 初始所有手上的数字都为 \(1\)。 两个玩家轮流行动,轮到一个玩家时他可以选择对方任意一只手上的数字,将自己任意一只手上的数字加上这个数后对 \(10\) 取余数。 若有一只手上的数字为 \(

时隔多年,再次复习 CRT(数论全家桶)

1.CRT 中国剩余定理,用来求解同余方程组 \begin{cases} x\equiv a_1\pmod {m_1} \\ x\equiv a_2\pmod {m_2} \\ x\equiv a_3\pmod {m_3} \\ …………\\ x\equiv a_n\pmod {m_n}\\ \end{cases}⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧​x≡a1​(modm1​)x≡a2​(modm2​)x≡a3​(modm3​

数论学习笔记

0. 前置知识 0.1 常用数学标识 若 \(a\) 与 \(b\) 模 \(p\) 同余,则写成 \(a\equiv b\pmod p\)。 完全剩余系:\((a_1,a_2,...,a_{n-1})\) 模 \(n\) 两两不同,则称 \((a_1,a_2,...,a_{n-1}))\) 为模 \(n\) 的 完全剩余系。 0.2 二项式定理 \[(a+b)^n=\binom{n}{0}a^n+\binom{n}{1}a^

二次剩余与 Cipolla 算法

二次剩余 对于 \(P,n\),若存在 \(x\),满足: \[x^2≡n\pmod p \]则称 \(n\) 为模 \(P\) 意义下的二次剩余。 勒让德符号 定义如下: \[\left(\frac{n}{p}\right)= \begin{cases} 1,&n\text{ 在模 $p$ 意义下是二次剩余}\\ -1,&n\text{ 在模 $p$ 意义下是非二次剩余}\\ 0,&n\equiv0\pmod

原根存在性定理的群论证明

原根存在性定理的证明 定义模\(m\)意义下满足阶为\(\varphi(m)\)的元素为\(m\)的原根,求证\(m\in\N^+\)的原根存在,当且仅当\(m\in\{2,4,p^a,2p^a|p\in \complement_P\{2\},a\in\Z^+\}\),其中\(P\)为素数集。显然,如果\(m\)的原根存在,那么\(m\)的既约剩余系就是以原根为生成元的\(\va

乘法逆元

乘法逆元 对于正整数 \(a\) ,若存在 \(s\) 使 \(as\equiv1 \pmod{m}\) 则记 \(s\) 是 \(a\) 在模 \(m\) 下的逆元,即 \(s\equiv a^{-1} \pmod{m}\) \(a\) 存在逆元的充要条件为 \(\gcd(a,m)=1\) 费马小定理:若 \(p\) 为质数,则对于任意整数 \(a\) 有 \(a^p \equiv a \pmod{p}\)

快速幂求逆元

快速幂求逆元 给定 $ n $ 组 $ a_i, p_i $,其中 $ p_i $ 是质数,求 $ a_i $ 模 $ p_i $ 的乘法逆元,若逆元不存在则输出 impossible。 注意:请返回在 $ 0 \sim p-1 $ 之间的逆元。 乘法逆元的定义 若整数 $ b,m $ 互质,并且对于任意的整数 $ a $,如果满足 $ b|a $,则存在一个整数 $ x $,使

初等数论漫谈/学习记录

八个月前浅尝辄止地碰了一下初等数论,写了一大堆零零散散的blog,想了想最好还是把它们整理一下,顺便补充一点当时没学到/没写到的内容。 以下讨论对象均为整数。 exgcd 21.11.02 即扩展欧几里得,可以以普通欧几里得的复杂度求出关于 \(x,y\) 的不定方程 \(ax+by=\gcd(a,b)\) 的一组特

2022.7.19 模拟赛

2022.7.19 模拟赛 A 略 B 由于 \(2333333333333333=311\times749803\times1006201\) 我们考虑设这三个数分别为 \(p_1,p_2,p_3\) 然后我们暴力找出 \(x_{1\sim 3}\) 使得 \(x_i^2\equiv a\pmod {p_i}\) 上述的 \(x_i\) 只可能为 \(0\) 个或 \(1\) 个或 \(2\) 个 然后考虑对于所有

P5491 【模板】二次剩余

\(\text{Summary}\) 实际上是做法的归纳 一切皆是结论性的,没有证明! 模 \(p\) 意义下的二次剩余有 \(\frac{p-1}2\) 个,二次非剩余也恰有那么多 考虑解关于 \(x\) 的同余方程 \[x^2 \equiv n \pmod p \]当 \(n=0\) 时,\(x=0\) 是唯一解 当 \(n \not= 0\) 时,若方程有解,则只有两个互为

模数为奇素数的二次同余方程

模数为奇素数的二次同余方程 求解二次同余方程\(x^2 \equiv n \pmod p\)(\(p\)为奇素数) 要求二次同余方程组,就必须先判断方程是否有解,这一部分我懒得写,在此略去。而当\(n=0\)显然只有\(x \equiv 0\)一个解。下面讨论\(n \not \equiv 0\) 的情况。 此时这个方程有且仅有两个解。证

二次剩余 Cipolla 算法浅析

参考资料 yyb blog Kewth blog 求解 \[x^2=n \pmod p \]仅介绍模数 p 为奇素数的解法,也就是 Cipolla 算法。 判定是否存在二次剩余 设 \(n=g^a,x=g^b\),由于原根环的长度为 \(p-1\) (是个偶数), 列出方程 \(2b = a \pmod {p-1}\),根据贝祖定理,当且仅当 \(\gcd(p-1,2)=2 \mid a\) 时

【数论总结】

一、中国剩余定理 问题 求解线性同余方程组: \(\begin{cases} x\equiv a_1\pmod {m_1}\\x\equiv a_2\pmod{ m_2}\\ \dots\\x\equiv a_n\pmod {m_n} \end{cases}\) 弱化版(保证\(m_i\)两两互质) 可以证明此时一定有解,且可以构造出一个解\(x_0\),那么通解显然为\(x\equiv x_0\pmod {\op

重修 多项式

前置芝士 乘法逆 P4238 【模板】多项式乘法逆 给定一个多项式 \(F(x)\),请求出一个多项式 \(G(x)\), 满足 \(F(x) * G(x) \equiv 1 \pmod{x^n}\)。 系数对 \(998244353\) 取模。 为方便 NTT 和倍增,不妨设 \(n\) 为 \(2\) 的幂。最后将 \(G(x)\) 的 \(0,\dots,(n-1)\) 次项输出即可

RSA

一、基本原理 公钥与私钥的产生 随机选择两个不同大质数 \(p\) 和 \(q\),计算 \(n=p\times q\)。 求得 \(\varphi ( n )\)。 选择 \(e < \varphi ( n )\),使 $e \perp \varphi (n) $。并求得 \(e\) 在模 \(\varphi ( n )\) 下的逆元 \(d\)。 销毁 \(p\) 和 \(q\)。 此时,\(( N , e

初等数论学习笔记 II

初等数论学习笔记 I:同余相关。 1. Miller-Rabin Miller-Rabin 素性测试是常见的 随机性 素数判定方法。 这里的随机指有一定概率将合数判定为素数,但不会将素数判定为合数。 素数判定的基本思路是,根据所有质数均具有但很少合数具有的性质,检查被判定的数是否具有这些性质。若不具有,

中国剩余定理和扩展中国剩余定理

中国剩余定理 定理 \[f(x)=\begin{cases}x \equiv a_1\pmod{m_1}\\x \equiv a_2\pmod{m_2}\\.\\.\\.\\x \equiv a_n\pmod{m_n}\end{cases}其中:m_1,m_2,m_3...,m_n 互质。 \]且 \(M=\prod\limits_{i=1}^{n}m_i,M_i=\frac{M}{m_i},t_i=M_i^{-1}\),\(t_i\) 是在模 \(

DTOJ #6057. 置换乘法 题解

首先把置换环转化成同余方程就不说了。 问题在于如何判断 \(10^6\) 个同余方程是否合法。 每个同余方程形如 \(x\equiv a\pmod{m}\)。 考虑逆 CRT,对于模数 \(m\),唯一分解成如下: \[m=\prod_{i=1}^k p_i^{\alpha_i} \]然后方程可以拆分为: \[\left\{\begin{matrix} x \equiv a \pmod{

牛顿迭代相关

OI-Wiki (具体证明等请看 OIwiki) 描述 给定多项式 \(g(x),f(x)\) 满足: \[g(f(x))\equiv 0\pmod {x^n} \] 求出模 \(x^n\) 意义下的 \(f(x)\) 公式表现形式 假设已经求出了模 \(x^{\lfloor \frac{n}{2}\rfloor}\) 意义下的解 \(f_0\) ,那么 \[f(x)\equiv f_0(x)-\frac{g(f_0(x))

原根

定义 当 \(\gcd(a,p)=1\) ,最小的 \(n\) 使得 \(a^n\equiv 1\pmod p\) ,称为 \(a\) 模 \(p\) 的阶 ,\(n=\xi_p(a)\) 对于 \(g\) ,如果满足 \(\gcd(g,p)=1,\xi_p(g)=\varphi(p)\) ,那么 \(g\) 为 \(p\) 的一个原根 性质有关 NTT 设 \(g\) 为质数 \(p\) 的一个原根 设 \(g_n=g^{\f

BSOJ5216口胡

比较简单的一道题。 需要满足 \(a_u^2+Aa_ua_v+Ba_v^2\equiv 0\pmod p\) 如果枚举 \(v\) 的话,那么相当于是 \(a_u\) 需要满足一个二次方程 \(x^2+(Aa_v)\times x+Ba_v^2\equiv 0\pmod p\)。 所以可以先解 \(a_v\) 对应的方程。\(p\) 是质数所以只可能有两个解。 然后写一个 dfs序+

乘法逆元学习笔记

乘法逆元和求法 基本的数论知识,有必要补一发。 开始之前 模运算:取余运算,比如 \(a \bmod b\) 就是 \(a\) 除以 \(b\) 得到的余数。 性质:在加、减、乘、乘方的运算过程中,进行取余运算,不会对结果产生影响。 优先级:取余运算的优先级和乘法、除法的优先级相同,高于加减法的优先级。

040.hive-floor、round、pmod

(case when b.max_coupon_id is not null then -(floor(abs(a.target_points)/a.coupon_num)+ pmod(a.target_points,a.coupon_num)) when b.max_coupon_id is null then -floor(abs(a.target_points)/a.coupon_num) else null end ) as coupon_points select -(floor(ab