Number Theory
文章平均质量分 91
数论
aWty_
在 AFO 的边缘徘徊的 OIer
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于 GCD
相信大家都会辗转相除吧 qwq。 首先有一个引理:gcd(a,b)=gcd(a−b,b)\gcd(a, b) = \gcd(a - b, b)gcd(a,b)=gcd(a−b,b) 证明: 令 a=k1gcd(a,b),b=k2gcd(a,b)a = k_1\gcd(a, b), b = k_2\gcd(a, b)a=k1gcd(a,b),b=k2gcd(a,b) 显然有 gcd(k1,k2)=1\gcd(k_1, k_2) = 1gcd(k1,k2)=1。然后 gcd(a−b,原创 2022-08-15 15:28:38 · 338 阅读 · 0 评论 -
扩展中国剩余定理
在所有方程中取两个出来合并(如果不能合并输出无解)只剩下一个方程直接解这唯一的一个方程得到答案完结撒花!!!原创 2022-08-10 19:22:06 · 258 阅读 · 0 评论 -
2022.8.8好题选讲(数论场)
简单来说无限维的空间就可以理解成一个希尔伯特空间。操作就变成了对于很多的无限维向量,在每一个维度上取一个最大值,得到的新的数就是这些。然后我们发现好像式子已经化到最简了,但是我们算一下复杂度就会发现我们愉快的。了,就是尝试确定每一个质数的指数,同时记录一个约数个数就好了。这个东西是写在指数上的,所以根据扩展欧拉定理,运算的时候是对。对他质因数分解,然后希尔伯特空间中的维度就代表质因子的次数。,那么我们就得到了一个因数个数与原数相同的且值比原数小的数。就能被看成希尔伯特空间中的一个向量。...........原创 2022-08-09 18:01:10 · 264 阅读 · 0 评论 -
笔记-二次剩余
二次剩余 传送门:P5491 模板 二次剩余题目大意 二次剩余俗称模意义开根,给出 nnn 和 ppp 解方程:x2≡n(modp) x^2 \equiv n \pmod p x2≡n(modp) 我们保证 ppp 是一个奇素数定义 其实二次剩余的意思就是一个数 nnn,我们将 111 到 nnn 的所有数都平方一下变成:1,4,9,16,⋯ ,n21, 4, 9, 16, \cdots, n^21,4,9,16,⋯,n2 然后将这些数都模一个 ppp,这样就剩下了一些数,这些原创 2022-05-21 13:46:46 · 645 阅读 · 0 评论 -
原根和阶的口胡笔记
阶和原根阶定义 m>1,m∈Z,gcd(a,m)=1,∃r∈[1,m−1]m > 1, m \in Z, gcd(a, m) = 1, \exist r \in[1, m - 1]m>1,m∈Z,gcd(a,m)=1,∃r∈[1,m−1] 使得 ar≡1(modm)a^{r} \equiv 1 \pmod mar≡1(modm),满足条件的 rrr 中最小的一个就是 aaa 模 mmm 的阶一些性质 因为 gcd(a,m)=1gcd(a, m) = 1gcd(a,m)=1 所原创 2022-04-30 16:18:02 · 340 阅读 · 0 评论 -
关于杜教筛
n=φ∗I=∑d∣nφ(d)=φ(n)+∑d∣n∧d<nφ(d)φ(n)=n−∑d∣n∧d<nφ(d)∑i=1nφ(i)=∑i=1n(i−∑d∣i∧d<iφ(d))=∑i=1ni−∑i=1n∑d∣i∧d<iφ(d)=12n(n−1)−∑\begin{aligned}n = \varphi * I & = \sum_{d | n}\varphi(d) = \varphi(n) + \sum_{d | n \land d < n}\varphi(d) \\\varp原创 2022-04-16 09:02:21 · 282 阅读 · 0 评论 -
Lucas 定理
Lucas 定理结论 结论很简单,就是一个简单的式子(ppp 是质数):Cnm≡Cnmod pmmod p×Cnpmp(modp) C_n^m \equiv C_{n \mod p}^{m \mod p} \times C_{\frac{n}{p}}^{\frac{m}{p}} \pmod p Cnm≡Cnmodpmmodp×Cpnpm(modp) 根据这个式子,我们就能快速计算 ppp 较小的组合数了。 具体来说,现预处理出一个数组 frac[i]frac[i]frac[i]原创 2022-04-05 20:13:36 · 449 阅读 · 0 评论 -
关于勾股数组
关于勾股数组勾股定理 首先是勾股定理:a2+b2=c2 a^2 + b^2 = c^2 a2+b2=c2勾股数组的定义 然后是勾股数组:一个正整数三元组:(a,b,c)(a, b, c)(a,b,c),满足 a2+b2=c2a^2 + b^2 = c^2a2+b2=c2,那么这个三元组就是一个勾股数组 (是有够简单的了)。非常简单,是不是?但是如果你想 装逼 让别人觉得你很厉害的话,那么你可以把这玩意儿叫做 “毕达哥拉斯三元组” (逼格瞬间就上来了有没有 qwq)。 我们来举几个例子:原创 2021-11-17 21:34:13 · 1745 阅读 · 0 评论 -
数论函数(一些题)
传送门:数论函数学习笔记埃氏筛 埃氏筛的思想很简单,就是从前往后,遇到一个质数就把所有后面小于 n 的这个质数的倍数全都标记为合数。后面遇到他们就直接跳过。一、筛质数 按照上面的思想直接模拟就好了,时间复杂度 O(nloglogn)O(n \log \log n)O(nloglogn):#include<bits/stdc++.h>using namespace std;#define MAXN 100100int v[MAXN] = { 0 };原创 2021-11-08 16:35:27 · 261 阅读 · 0 评论 -
关于整除分块
整除分块 大概要是长成这样的就能用到整除分块:∑i=1n⌊ni⌋ \sum_{i=1}^n \left\lfloor \frac ni \right\rfloor i=1∑n⌊in⌋ 计算这个东西用 O(n)O(n)O(n) 的复杂度是显然能解决的,但是在某些考大家思维 毒瘤 的题目里面,就会把你这种做法给卡掉。这时候我们就可以用整除分块来把这个东西的复杂度降到 O()nO()\sqrt{n}O()n。 我们可以通过打表 证明 发现许多的 ⌊ni⌋\left\lfloor \frac n原创 2021-11-08 15:20:02 · 326 阅读 · 0 评论 -
学习笔记--数论函数
数论函数 定义在整数域上的实值或复值函数叫做数论函数积性函数 一个数论函数如果满足 gcd(p,q)=1gcd(p, q) = 1gcd(p,q)=1(也就是 p, q 互质)的时候有 f(pq)=f(p)f(q)f(pq) = f(p)f(q)f(pq)=f(p)f(q),那么这个函数叫做积性函数。 几个是积性函数的例子:I(n)=1不变的函数id(n)=n单位函数Ik(n)=nk幂函数ε(n)=[n=1]={1(n=1)0otherwise原函数\begin{aligned}&原创 2021-11-05 23:29:57 · 957 阅读 · 0 评论 -
莫比乌斯反演
Mo¨biusM\ddot{o}biusMo¨bius 反演 这个人将的超级好!:https://www.cnblogs.com/chenyang920/p/4811995.html。原创 2021-10-19 09:57:07 · 286 阅读 · 0 评论 -
中国剩余定理
中国剩余定理 设 m1,m2,⋯ ,mnm_1, m_2, \cdots, m_nm1,m2,⋯,mn 是两两互质的整数,m=∏i=1nmi, Mi=mmim = \prod_{i=1}^{n}m_i,\;\; M_i = \frac{m}{m_i}m=∏i=1nmi,Mi=mim,tit_iti 是线性同余方程 Miti≡1(modmi)M_it_i \equiv 1 \pmod {m_i}Miti≡1(modmi)的一个解。对任意一的 n 个整数 a1,a2,⋯ ,an原创 2021-10-15 21:58:39 · 181 阅读 · 0 评论 -
欧拉定理与费马小定理
一、互质与欧拉函数互质: ∀a,b∈N\forall a, b \in N∀a,b∈N,如果 gcd(a, b) = 1,则称 a, b 互质。 对于三个或以上的数,我们吧 gcd(a, b, c) = 1 的情况称为 a, b, c 互质。把 gcd(a, b) = gcd(a, c) = gcd(b, c) = 1 的情况称为 a, b, c 两两互质。欧拉函数: 1 ~ N 中的与 N 互质的整数的个数叫做欧拉函数 记做 φ(N)\varphi(N)φ(N)。 在算术基本定理中 n原创 2021-10-15 21:16:52 · 1332 阅读 · 0 评论 -
扩展欧几里得
扩展欧几里得BeˊzoutB\acute{e}zoutBeˊzout定理对任何整数a、b和它们的最大公约数d,关于未知数x和y的线性不定方程(称为裴蜀等式):若a,b是整数,且gcd(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立。它的一个重要推论是:a,b互质的充分必要条件是存在整数x, y使ax+by=1.(以上内容来自百度)证明:我们知道在欧几里得算发的最后一步,即 b = 0 时,显然有 x = 1, y = 0原创 2021-10-14 15:10:16 · 161 阅读 · 0 评论 -
乘法逆元.
乘法逆元#include<bits/stdc++.h>using namespace std;int a = 0, b = 0;int exgcd(int a, int b, int &x, int &y){ // ax + by = gcd(a, b) --> (x, y) if(b == 0){ x = 1; y = 0; return a; } int d = exgcd(b, a % b, x, y); int z = x;原创 2021-10-14 07:33:16 · 303 阅读 · 0 评论
分享