数论

数论学习笔记

依然范特西╮ 提交于 2019-11-30 06:31:02
这里是Agakiss的数论学习笔记 数论函数 定义域为 \(N^{*}\) ,值域是一个数集的函数 以下数论函数皆用粗体英文字母( \(\mathbf f、\mathbf g、\mathbf t\) )或希腊字母( \(\mu、\varphi\) )表示 基本数论函数 1.欧拉函数: 令 \(k\) 为 \(x\) 的质因数的个数,则 \(x=\prod^{k}_{i=1}pi^{ci}\) \[ \varphi(x)=x\ast\prod^{k}_{i=1}(1-\frac{1}{p_i}) \] 2.幺元函数: \[ \epsilon(x)=[x=1] \] 3.常函数1(one): \[ \mathbf 1(x)=1 \] \[ \mathbf{one}(x)=1 \] 4.标号函数: \[ \mathbf{id}(x)=x \] 5.除数函数: \[ \sigma_k(x)=\sum_{d|x}d^{k} \] \[ \sigma(x,k)=\sum_{d|x}d^{k} \] 当k=0时,该函数表示x的正因子个数 当k=1时,该函数表示x的正因子之和 运算法则: 函数相加: \[ (\mathbf f+\mathbf g)(n)=\mathbf f(n)+\mathbf g(n) \] 数乘: \[ (x\mathbf f)(n)=x\cdot\mathbf f(n) \

HDU 6264 (深搜,数论)

久未见 提交于 2019-11-30 02:04:41
题目链接 题意 求 \(\sum_{d|n}\phi (d) \times {n\over d}\) ,其中 \(\phi(n) = n\prod_{p|n}({1-{1\over p}})\) 分析 将 \(\phi(d)\) 分解式子代入可知: \(\sum_{d|n}(n\times \prod_{p|d}(1-{1\over p}))\) \(d\) 是 \(n\) 的因子,枚举 \(d\) 的质因子的所有可能的组成情况共 \(2^c\) 中。 其中 c 为 n 的不同质因子个数(即题目中输入的 n )。 对于每种组成情况,例如 \(d\) 的质因子为 \(p_1,p_2,\cdots p_m\) ,我们枚举的是所有 p 的组成情况,而 每个 p 的指数都会影响 d 的实际大小。到这里,了解过如何计算一个数的因子个数的朋友一定知道如何解决该题目了。我们只需要计算满足这个质因子组成的 d 的个数就可以计算了 变量说明 ab[i] : 即 \(a[i] ^ {b[i]}\) ab2[i] : 即 \(a[i] ^ {b[i] - 1}* (a[i]-1)\) #include <bits/stdc++.h> using namespace std; const int mod = 998244353; int T,a[22],b[22],ab[22],ab2[22],n;

P2424 约数和(数论分块)

大憨熊 提交于 2019-11-29 20:59:17
原式可以考虑化为: sigma(sigma(d) (d|i) ) (1<=i<=n) 显然上式是满足前缀和性质的,现在考虑如何简化 sigma(d) 换一种思考方式, 枚举因数d,看它在[1,n]中出现了几次 不难发现出现次数为 n/d(向下取整) 这时原式已经化为: sigma(i*(n/i)(向下取整)) 于是可以用数论分块的性质以及等差数列求和 代码: #include <bits/stdc++.h> #define int long long #define sc(a) scanf("%lld",&a) #define scc(a,b) scanf("%lld %lld",&a,&b) #define sccc(a,b,c) scanf("%lld %lld %lld",&a,&b,&c) #define schar(a) scanf("%c",&a) #define pr(a) printf("%lld",a) #define fo(i,a,b) for(int i=a;i<b;++i) #define re(i,a,b) for(int i=a;i<=b;++i) #define rfo(i,a,b) for(int i=a;i>b;--i) #define rre(i,a,b) for(int i=a;i>=b;--i) #define prn() printf("

数论基础(更新中)1

拜拜、爱过 提交于 2019-11-29 18:47:25
# 数论基础(更新中) 标签(空格分隔): 算法笔记 数论 ###入门知识 > 本单元难度$\le$小学六年级数学。 ####1.整数除法 除法是四则运算运算之一,作为乘法的逆运算。已知积与其中一个因数求另一因数的运算叫做除法. 整数除法常有如下表达: $$a \div b = c \cdots d$$ 一般地,我们称 *a* 为被除数,*b* 为除数,*c* 为商,*d* 为余数. 亦可简单推出如下逆运算: $$b \times c + d = a$$ ###2.整除 如果 *a* 能把 *b* 除尽,也就是$a \div b$余数为0,则我们称 *a* 整除 *b* ,也称 *b* 被 *a* 整除. 记为: $$a|b$$ 中间的竖杠表示为整除符号,读作:*a* 整除 *b*. >数论之路,皆由“整除”始。 ###3.整除的性质 - 自反性 对于任意n,有$n|n$. - 传递性 对于任意 $a|b,b|c$,都有$a|c$. ###4.约数与倍数 如果$a|b$,那么称 *a* 是 *b* 的约数,*b* 是 *a* 的倍数。同时称,*a* 是 *b* 的因子(因数)。 因此,我们有一个重要推论: **对于任何整数$n \ge 2$,$n$至少有两个因子:1和 $n$(它本身).** 我们将这两个因子称为$n$的**平凡因子**. ####*quiz1.*如何计算$[1,

数论基础(更新中)

允我心安 提交于 2019-11-29 18:45:38
数论基础(更新中) 标签(空格分隔): 算法笔记 数论 入门知识 本单元难度$\le$小学六年级数学。 1.整数除法 除法是四则运算运算之一,作为乘法的逆运算。已知积与其中一个因数求另一因数的运算叫做除法. 整数除法常有如下表达: $$a \div b = c \cdots d$$ 一般地,我们称 a 为被除数, b 为除数, c 为商, d 为余数. 亦可简单推出如下逆运算: $$b \times c + d = a$$ 2.整除 如果 a 能把 b 除尽,也就是$a \div b$余数为0,则我们称 a 整除 b ,也称 b 被 a 整除. 记为: $$a|b$$ 中间的竖杠表示为整除符号,读作: a 整除 b . 数论之路,皆由“整除”始。 3.整除的性质 自反性 对于任意n,有$n|n$. 传递性 对于任意 $a|b,b|c$,都有$a|c$. 4.约数与倍数 如果$a|b$,那么称 a 是 b 的约数, b 是 a 的倍数。同时称, a 是 b 的因子(因数)。 因此,我们有一个重要推论: 对于任何整数$n \ge 2$,$n$至少有两个因子:1和 $n$(它本身). 我们将这两个因子称为$n$的 平凡因子 . quiz1. 如何计算$[1, n]$中每个数因数的个数? int p_num[MAXN]; for(int i = 1; i <= n; i ++) for

莫比乌斯反演与狄利克雷卷积

天大地大妈咪最大 提交于 2019-11-29 14:36:50
积性函数 对 于 g c d ( a , b ) = 1 , 都 有 f ( a b ) = f ( a ) ∗ f ( b ) 。 那 么 f ( n ) 是 积 性 函 数 对于gcd(a,b)=1, 都有 f(ab)=f(a)*f(b)。那么f(n)是积性函数 对 于 g c d ( a , b ) = 1 , 都 有 f ( a b ) = f ( a ) ∗ f ( b ) 。 那 么 f ( n ) 是 积 性 函 数 欧拉函数 ϕ ( n ) \phi(n) ϕ ( n ) 是一个积性函数,对于一个素数 p p p 。有: ϕ ( p ) = p − 1 \phi(p)=p-1 ϕ ( p ) = p − 1 , ϕ ( p k ) = p k − p k − 1 = ( p − 1 ) p k − 1 \phi(p^k)=p^k-p^{k-1}=(p-1)p^{k-1} ϕ ( p k ) = p k − p k − 1 = ( p − 1 ) p k − 1 第一个就根据定义理解,第二个就稍微容斥一下就可以了。 莫比乌斯函数 μ \mu μ 莫比乌斯函数完整定义的通俗表达: 1)莫比乌斯函数 μ ( n ) μ(n) μ ( n ) 的定义域是 N N N 2) μ ( 1 ) = 1 μ(1)=1 μ ( 1 ) = 1 3)当 n n n 存在平方因子时, μ

数论知识整理

淺唱寂寞╮ 提交于 2019-11-29 05:04:21
\[ \large \text { 数论知识目录 及 前置知识:} \] \(gyh\) 实在是太 ⑨ 了,没脑子的他只能整理在这里: 如果以下内容中存在错误 , 请及时通知博主 , 博主会非常感谢您的指正 , 并欢迎您把蠢货博主的头 拧下来 天真的 \(gyh\) 以为写一篇 基础数论知识整理 ,一篇 进阶数论知识整理 就可以囊括所有的数论知识了 , 但是他错了 于是就有了这篇文章,来更条理地整理数论知识。 于 \(2019.5.15\) 创建 于 \(2019.5.16\) 更新了 约数:欧拉函数,约数和 于 \(2019.5.19\) 更新了 欧几里得 与 扩展欧几里得:求解同余方程组 \[ \text{从此开始,一个天文单位} \] \[ \downarrow \]   前置知识: 取整函数 : 下取整: $\lfloor x\rfloor = $不大于 \(x\) 的最大整数 。 例: \(\lfloor 5.5\rfloor = 5\) , \(\lfloor -1.5\rfloor = -2\) . 上取整: $\lceil x \rceil = $ 不小于 \(x\) 的最小整数 。 例: \(\lceil 5.5 \rceil = 6\) , \(\lceil -1.5\rceil = -1\) . 整除: 定义 : 如果 \(a\) 是 \(p\) 的倍数 ,则

数论

北城余情 提交于 2019-11-28 16:29:25
今天看了质数相关内容。。。 我是不会告诉你们我要干什么的(bushi 做了三道题 来源: https://www.cnblogs.com/sunxiyue/p/11415547.html

【算法•日更•第五十三期】知识扫盲:什么是积性函数?

萝らか妹 提交于 2019-11-28 12:11:11
▎唯一分解定理   你可能会问,学积性函数,为什么提到唯一分解定理呢?有神马关系?对后文有用,请耐心看下去。   唯一分解定理主要就是说一个数x可以一定可以分成质数的乘积(1,0什么的除外),换成式子就是这样:   n=a 1 p1 ·a 2 p2 ·a 3 p3 ·a 4 p4 ·a 5 p5 ·……   这其实很简单,这也是分解质因数的原理。 ▎数论函数   没有什么价值,直接抛定义,其实平时根本用起来就像八年级的函数一样,只不过不用表格、图像表示而已。   在 数论 上,算术函数(或称数论函数)指 定义域 为正 整数 、 陪域 为 复数 的 函数 ,每个算术函数都可视为复数的 序列 。   最重要的算术函数是积性及加性函数。算术函数的最重要操作为狄利克雷卷积,对于算术函数集,以它为乘法, 一般函数 加法为加法,可以得到一个 阿贝尔 环 。(copy自百度百科) ▎积性函数   对于一个函数f而言,如果它满足f(ab)=f(a)(b)的话,我们称之为积性函数。   这时唯一分解定理就派上用场了:   若n=a 1 p1 ·a 2 p2 ·a 3 p3 ·a 4 p4 ·a 5 p5 ·……   那么则有f(n)=f(a 1 p1 )·f(a 2 p2 )·f(a 3 p3 )·f(a 4 p4 )·f(a 5 p5 )·……   这样求一个函数的值就有另一种方式了。 来源: