首页 > TAG信息列表 > 模数

Codeforces Round #811 (Div. 3)

比赛链接 Codeforces Round #811 (Div. 3) E. Add Modulo 10 给出 \(n\) 个数,每次可以将其中一个数加上其对 \(10\) 的模数,问最后所有数能否相等 解题思路 思维 可以发现,如果同时出现对 \(10\) 的模数为 \(5\) 或 \(0\) 跟其他模数的情况肯定无法相等,所以需要特判对 \(10\) 的模

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

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

【数论总结】

一、中国剩余定理 问题 求解线性同余方程组: \(\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

NTT

质数模数 NTT 普通 FFT 有一个很大缺点就是精度和随带的速度 因为一直是在复数域,大量的 double 运算,精度的损失太大了,所以出现了 NTT (快速数论变换) NTT 的思想和 FFT 的思想是一样的,只是将原根换成了一个替代品\(\to\)关于模数的原根 倒数的地方就是原根关于模数的逆元

外文翻译 | 格罗腾迪克到底做了什么?

格罗腾迪克去世后的宣传让一些非数学家产生了这样的疑问:他到底做了什么?我在其他地方写了一个答案,人们似乎觉得很有参考价值,所以我把它保存在这里供后人参考。 这篇文章是我所能做到的最非技术性的。格罗腾迪克的工作技术性很强,即使以现代抽象数学的标准来看也是如此,所以我的描述,如

泛型编程与 OI——modint

博客链接。 在 OI 中,有大量的题目要求对一些数字取模,这便是本文写作的背景。 背景介绍 这些题目要么是因为答案太大,不方便输出结果,例如许多计数 dp;要么是因为答案是浮点数,出题人不愿意写一个确定精度的 Special Judge,例如很多期望概率题;要么是因为这道题目直接考察了模的性质和运

快速数论变换(NTT)

快速数论变换(NTT) 这东西之前就想学了,一直没有动手 orz,现在补一下。 学这东西我感觉并没有很多新知识,学之前掌握 FFT 就好了。 FFT 可以在这里看看:https://www.cnblogs.com/Tenshi/p/15434004.html NTT,是用来解决多项式乘法取模问题的,因为 FFT 可能在精度上不够,而且常数较大,因此

【学习笔记】光速幂

简介: 光速幂主要思想是分块,把幂分为 \(\sqrt{p}\) 份,那么 \(a^b=a^{k\sqrt p+t}\),其中 \(k,t\) 为常数,\(p\) 表示模数。\(\mathcal{O}(\sqrt p)\) 预处理出所有 \(a^{k\sqrt{p}}\) 和 \(a^t\)。然后 \(\mathcal{O}(1)\) 查询。 因为 \(b\) 可能很大,所以要模 \(\varphi(p)\)。 优缺

8.25Java学习

注意事项 1.在给长整型变量赋值时,如果不在数据尾部加L则默认为4字节的整型,超过4字节表示范围的数... 2.数值2.3默认为double型,要将其赋值到float型变量上要在数值尾部加上f 3.在JAVA中默认整数为int型,如果将整数的值赋给byte型变量,编译时会判断整数的值... 4.负数求余

RAS 算法

加密算法: 图中的C是密文,M是明文,E是公钥(E和 φ(N)互为质数),N是公共模数(质数 P 、Q相乘得到N),MOD就是模运算 解密算法: 图中的C是密文,M是明文,D是私钥(私钥由这个公式计算得出E * D % φ(N) = 1),N是公共模数(质数 P 、Q相乘得到N),MOD就是模运算,φ(N)是欧拉函数(由这个公式计算得出φ(N

各种技巧

错误总结 \(link\) 打表技巧—全组合 \(link\) 数学技巧—对指数取模数 \(link\)

内存对齐

内存对齐的原因: 以空间换时间 对于自定义数据类型对齐规则: 从第一个属性开始 偏移为0第二个属性开始,地址要放在 该类型整数陪 与 对齐模数比 取小的值 的整数陪上所有的属性都计算结束后,整体再做二次对齐,整体需要放在属性中做大类型 与 对齐模数比 取小的值的整数倍上 如何查

多项式桶1-NTT(快速数论变换以及任意模数形式)以及FFT的一点杂谈

目录FFT杂谈NTT任意模数NTT附原根表参考资料 FFT杂谈 因为之前的我已经不想去动他了。QAQ 其实FFT并不难学,大纲是这样: 前置知识 分治 蝴蝶变换 学完了,没了 之前那个前面不是是抄你谷多项式奆佬的,后面的各种优化没什么实际意义还疯狂掉精度,基本在实战中不会去碰他,所以那篇文章我

#progma pack(x)说明

1、字节对齐(内存相关)   现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。

【洛谷P4245】【模板】任意模数多项式乘法

题目 题目链接:https://www.luogu.com.cn/problem/P4245 给定 \(2\) 个多项式 \(F(x), G(x)\) ,请求出 \(F(x) * G(x)\)。 系数对 \(p\) 取模,且不保证 \(p\) 可以分解成 \(p = a \cdot 2^k + 1\) 之形式。 \(n\leq 10^5;a,b\leq 10^9;p\leq 10^9+9\)。 思路 不保证 \(p\) 是 NTT 模

P4245-[模板]任意模数多项式乘法

正题 题目链接:https://www.luogu.com.cn/problem/P4245 题目大意 两个多项式,求它们的乘积模\(p\)。 解题思路 方法好像挺多,我用的是最简单的一种就是,先定一个常数\(sqq\)(一般是\(\sqrt q\)),把一个项的数\(x\)拆成\(k*sqq+r\)。然后把\(F\)的\(k\)丢进\(A\),\(r\)丢进\(B\)。\(G\)

「任意模数多项式乘法」

「任意模数多项式乘法」 前置知识 多项式乘法 基本问题 给定一个 \(n\) 次多项式 \(F(x)\) 和一个 \(m\) 次多项式,求出 \[F(x)\times G(x) \]系数对 \(p\) 取模,且不保证 \(p\) 可以分解成 \(p=2^ka+1\) 之形式,\(0\leq a_i,b_i\leq 10^9\),\(2\leq p\leq 10^9+9\) 考虑直接用 \(FF

Luogu5285 [十二省联考2019]骗分过样例

Luogu5285 [十二省联考2019]骗分过样例 \(case1,2,3:\) 很明显,求\(19^x\),直接快速幂。但是\(case3\)数据很大,可以利用\(a^b \mod p= a^{b \mod (p-1)} \mod p\)边读入边取模。 \(case4:\) 没有给模数?拿第一个大数据,暴力枚举模数进行匹配,跑出来模数是\(1145141\)。 \(case5:\) 观察

任意模数 NTT

#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MAXN=1<<21,MOD1=998244353,MOD2=1004535809,MOD3=469762049; inline ll fpow(ll a,ll x,ll mod) { ll ans=1; for(;x;x>>=1,a=a*a%mod) if(x&1) ans=ans*a%mod; return

DP专题

1.[UNR #2]积劳成疾 dp 把贡献剥离为每个数的每个数作为区间最大的次数次方的乘积。 考虑一个比较经典的套路,对于一个值域全部为[1,i-1]的序列,枚举第一个插入i的位置,那么,包含i的区间个数可以计算(已知左边数的个数和右边数的个数),就y有了这个dp柿子: (copy自gxzlegend,特此注明出处) f

脑抽之后误以为自己切题/不会做的记录

以为自己切题 1、 看到取模就以为模数是质数? 模数太小可能出现除0的情况怎么办? 2、 AC自动机的fail树上的链不是trie树上的链。一个串的每一个位置放在fail树上多半不是一条链。 以为自己不会做 1、 学后缀数据结构学傻了不记得kmp、exkmp、AC自动机了?

字符串Hash

一般的字符串哈希:我们设置一个进制\(x\),把这个串\(s\)看做一个\(x\)进制数。 \(Num=s1*x^0+s2*x^1+s3*x^2+s4*x^3+…\) 然后对一个比较大的质数取模。 这种\(hash\)方法在随机情况下冲突的概率比较小,除非对着哈希构造方法卡。 模数一般选用一个较大的质数来减小冲突的概率。 但在

单位冲激信号和数字信号处理

最近看书《信号与系统》,第一张比较详细的介绍,单位冲激信号,看到一句话,一个系统对这个理想化脉冲的响应在系统分析中起着关键作用。 那么,数字信号处理,应该就是设计一个系统,这个系统有输入信号,输出信号,输入信号可能是ADC模数采样的值,我们用数字信号处理去设计一个系统,用ADC模数采样的

中国剩余定理模数互质的情况模板(poj1006

http://poj.org/problem?id=1006 #include <iostream>#include <cstdio>#include <queue>#include <algorithm>#include <cmath>#include <cstring>#define inf 2147483647#define N 1000010#define p(a) putchar(a)#define For(i,a,b)

无聊的 邮递员 插头dp

  邮递员想知道,如果他每天都用不同路线走过10×20个点阵邮筒,他必须活过多少个世纪才能走遍所有方案?     7:00 改完T1,开始肝插头dp   7:10 放弃,颓博客   7:20 学习插头dp   7:21 放弃,抄代码   8:30 抄完结构体,负罪感强烈,自打分类讨论   从此   0分:打了一个分类讨论就把