一些定义

数论函数:定义域在正整数的函数

积性函数:\(\forall a\perp b,f(ab)=f(a)\times f(b)\)

完全积性函数:\(\forall a,b,f(ab)=f(a)\times f(b)\)

栗子

  • 常数函数\[1(i)=1\]
  • 幺元函数\[e(n)=[n=1]\]
  • 恒等函数\[id(n)=n\]

欧拉函数

\(\phi(i)\)表示\(1-i\)中与\(i\)互质的数的个数

引理:

  • 如果\(n\)为素数p,\(\phi(n)=n-1\)
  • 如果\(n\)为素数的次方,\(\phi(p^a)=(p-1)\times p^{a-1}\)
  • 如果\(n\)为两数之积,\(\phi(a\times b)=\phi(a)\times\phi(b)\)
  • 若\(n=p_1^{a1} \times p_2^{a2}\times...\times p_k^{ak}\), \(phi(n)=n\times (1-1/p_1)\times (1-1/p2)\times ...\times(1-1/p_k)\)

欧拉定理

\(IF\ a\perp m,\ \ a^{\phi(m)}\equiv 1\ \ (mod\ \ m)\)


欧拉函数的线性筛法

  • 性质1 \(\phi(p)=p-1\)
  • 性质2 \(IF\ i\ mod \ p=0,\ \ (i*p)=p*\phi(i)\)
    证明
    \(\ \because n\)与\(i\)不互质,\(\therefore i\)与\(n+i\)不互质
    \(\ \because [1,i]\)中不与i互质的数有\(i-\phi (i)\)个,
    \(\ \therefore(i+1,p\times i]\)中一共有\(p\times \phi(i)\)个数\(\perp i\times p\)
  • 性质3 \(IF\ i\ mod\ p\neq0,\ \ (i*p)=(p-1)*\phi(i)\)

调和级数

\[1+\frac 1 2+ \frac 1 3 + \frac 1 4 + ...\approx ln\ n\]


除数函数

\[\sigma _k(n)=\sum_{d|n}d^k\]
\(\sigma_0\)表示因子个数
\(\sigma_1\)表示因子和
积性函数


狄利克雷卷积

\[f*g=h\]
\[h(z)=\sum_{x*y=z} f(x)*g(y)\]
有交换律和结合律
如果\(f,g\)都是积性函数,\(h\)是积性函数

  • 验证卷积
    \[h(p^k)=\sum_{i=0}^kf[(p^i)\times g(p^{k-i})\]

栗子

  • \(\varphi*1=id\)即\(\sum_{d|n}\varphi(d)=n\)
  • \(\varphi=\mu *id\)
  • \(\sigma=id*e\)
  • \(e=\mu*1\)
  • \(id=\varphi*1\)

给定\(f,g\),求卷积前n项的做法-->暴力\(O(n\ ln\ n)\)


莫比乌斯函数

\[n=p_1^{k_1}\times p_2^{k_2}\times p_3^{k_3}\times .. \times p_m^{k_m}\]
\[if\ squarefree\ \mu(n)=(-1)^m\](就是说每一项的系数都是一次)
\[otherwise\ \mu(n)=0\]

\[\mu(n)=\mu(p_1^{k_1})\times \mu(p_2^{k_2})\times ...\times\mu(p_m^{k_m})\]

积性函数,但不是完全积性函数
\[\sum_{d|n} \mu(d)=[n=1]\]可改写为\[u*1=e\]

证明:

\[n=p_1^{k_1}\times p_2^{k_2}\times p_3^{k_3}\times .. \times p_m^{k_m}\]

\[n_0=p_1\times p_2\times p_3\times .. \times p_m\]

\[\sum_{d|n}\mu(d)=\sum_{d|n_0}\mu(d)\]

当\(p_1\perp d\) ,\[\mu(dp_1)=\mu(d)\times\mu(p_1)=-\mu(d)\]

\[\sum_{d|n}\mu(d)=\sum_{d|n_0}\mu(d)=\sum_{d|\frac{n_0}{p_1}}(\mu(d)+\mu(dp_1))=0\]

线性筛法

void Linear_Shaker(int n)
{mu[1] = 1;for (int i = 2; i <= n; i++){if (!ism[i]) {prm[++tot] = i; mu[i] = -1;}for (int j = 1; j <= tot; j++){int num = prm[j] * i;if (num > n) break;ism[num] = 1;if (i % prm[j] == 0) break;mu[num] = -mu[i];}}
}

莫比乌斯反演

\[g=f*1\]

如果知道\(f,1\)直接求就行了啊

但是如果只知道\(g,f\)呢

反演!!!

\[g=f*1\]

\[g*\mu=f*1*\mu\]

\[g*\mu=f*e\]

就是说
\[g(m)=\sum_{d|m} f(d)\Leftrightarrow f(m)=\sum_{d\times k=m} g(d)\times \mu(k)\]

栗子

  • YY的gcd

    \[g(k)=\sum_{p\in P\wedge pd=k}\mu(d)\]

    \[f(p)=[p\in P]\]

    \[g(k)=\sum_{pd=k}\mu(d)*f(p)\]

    预处理卷积!!

    然后每组询问的答案变成\[\sum_{k=1}^{min(n,m)} \lfloor \frac n k \rfloor\lfloor \frac m k\rfloor g(k)\]

    \(\lfloor \frac n k \rfloor\lfloor \frac m k\rfloor\)只有\(O(\sqrt n)\)种取值

  • 数表

    也就是说\((i,j)=\sigma(gcd(i,j))\)

    记\(f_a[d]\)表示\(gcd(i,g)=d\)的格子的贡献

    \[f_a[d]=\left\{\begin{matrix}0,&\sigma(d)>a&\\ \sigma(d),&oterwise\end{matrix}\right.\]

    \[ans=\sum_df_a[d]\sum_k\mu(k)\lfloor\frac n{dk}\rfloor\lfloor\frac m {dk}\rfloor=\sum_t\lfloor\frac n t\rfloor\lfloor\frac m t\rfloor(\sum_{dk=t}f_a[d]\mu(k))\]

    把所有变量离线下来,每次修改改变的h复杂度\(O(n\ ln\ n)\)


杜教筛

  • \(\sum\mu\)

    \[\mu*1=e\]

    \[f(n)=1-\sum^n_{i=2}f(\lfloor \frac n i\rfloor)\]

    预处理前\(n^{\frac 23}\)的\(\mu\)时间复杂度是\(O(n^{\frac 2 3})\)

    int Mu(int n)
    {if(n<N) return mu[n];if(mu[n]) return mu[n];int res=0;for(int l=2,r;l<=n;l=r+1){r=n/(n/l);res+=(r-l+1)*Mu(n/l);}return mu[n]=1-res;
    }
  • \(\sum\varphi\)

    同↑

    int Phi(int n)
    {if(n<=N) return phi[n];if(P[n]) return P[n];int res=0;for(int l=2,r;l<=n;l=r+1){r=n/(n/l);res+=(r-l+1)*Phi(x/i);}return P[n]=n*(n+1)/2-res;
    }

    拉格朗日插值

给出n个点\((x_i,y_i)\) 找出一个过所有点的多项式\(f(x)\)

对于每一个点找一个函数使这个函数只在对应 \(x_i\)时取值是\(y_i\)其余\(x\)取值都是0

\[f(x)=\sum_{y=1}^n\prod_{j\ne i}\frac{x-x_i}{x_i-x_j}\]

预处理\(P(x)=\prod(x-x_i)\) \(n^2\)求出\(f(x)\)

转载于:https://www.cnblogs.com/ZUTTER/p/10213394.html

数论1.1(一些函数及筛法)相关推荐

  1. c莫比乌斯函数_数论——容斥原理、莫比乌斯函数

    数论--容斥原理.莫比乌斯函数由于某些玄学原因,有些公式的减号未显示,如果有的符号显示为空格,则默认为减号. 1.容斥原理:时间复杂度为 ,下面会有证明. 举一个简单的例子:用韦恩图来思考,求 . . ...

  2. 数学/数论专题:莫比乌斯函数与欧拉函数

    数学/数论专题:莫比乌斯函数与欧拉函数(进阶) 0. 前言 1. 前置知识 2. 正文 3. 总结 4. 参考资料 0. 前言 本篇文章会从狄利克雷卷积的角度,讨论莫比乌斯函数与欧拉函数的相关性质. ...

  3. java 素数 五行_【数论】素数的判定与筛法

    素数的判定与筛法 判定:很简单嘛!暴力大法参上! #include #include unsigned long int n,i,j,a,b; using namespace std; int mai ...

  4. matlab狄利克雷函数,数论入门1——莫比乌斯函数,欧拉函数,狄利克雷卷积,线性筛,莫比乌斯反演,杜教筛...

    数论入门1 一个菜鸡对数论的一点点理解... 莫比乌斯函数 定义函数$\mu(n)$为: 当n有平方因子时,$\mu(n)=0$. 当n没有平方因子时,$\mu(n)=(-1)^{\omega(n)} ...

  5. 基于MATLAB的数论运算与编写函数(附完整代码)

    目录 一. 基本数论运算 例题1 例题2 例题3 例题4 二. 循环结构 2.1 for 结构 2.2 while结构 例题5 例题6 例题7 三. 转移结构 例题8 四. 开关结构与试探结构 4.1 ...

  6. 【算法/数论】埃拉托斯特尼筛法时间复杂度的证明

    文章目录 一.埃拉托斯特尼筛法简介 二.黎曼 ζ \zeta ζ函数与欧拉乘积公式 三.问题求解 一.埃拉托斯特尼筛法简介 埃拉托斯特尼筛法(Sieve of Eratosthenes)是一种能快速求 ...

  7. 【bzoj3601】一个人的数论 莫比乌斯反演+莫比乌斯函数性质+高斯消元

    Description Sol 这题好难啊QAQ 反正不看题解我对自然数幂求和那里是一点思路都没有qwq 先推出一个可做一点的式子: \(f(n)=\sum_{k=1}^{n}[(n,k)=1]k^d ...

  8. 数学--数论-数论函数-欧拉函数

    **欧拉函数定义 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.例如euler(8)=4,因为1,3,5,7均和8互质. Euler函数表达通式: 其中p1,p2--pn为x的所有素因数 ...

  9. 【基础数论】欧拉函数

    欧拉函数 欧拉函数就是指:对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) . 欧拉函数的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4) ...

最新文章

  1. MySQL5.6多实例部署
  2. 【云中沙箱】视频直播技术浅析与实践!
  3. [开发笔记]-winfom ListBox控件选中项上下移动排序
  4. Elasticsearch SQL
  5. 您在eXo平台上的第一个Juzu Portlet
  6. 算法学习(6)----整数转换为格雷码
  7. 如果我是决策者,我会决策做CPU吗?
  8. Ubuntu搭建KMS服务
  9. kpi绩效考核流程图_绩效考核流程图
  10. 【三 HLS】HLS实现肤检测
  11. 把单元格一分为二_excel如何把一个单元格分成两个 excel单元格拆分为二行
  12. Android Studio获取数字签名(SHA1)
  13. 【HTML总复习】一文带你查漏补缺,暖你一整天
  14. PCB中MARK点画法与注意事项
  15. cad注释比例和打印比例不一样_CAD注释比例与打印比例不相等怎么办?
  16. JSP连接数据库进行注册登录及展示页面及下拉框查询
  17. 谈谈制造企业如何制定敏捷的数字化转型策略
  18. mysql判断叠字_诗词的语法特征
  19. word 中公式显示不全行距调整
  20. 线。段。树--树状数组-主席树

热门文章

  1. php熔断,微服务-API熔断原理
  2. NAT类型与验证方法
  3. 免费邮件服务器软件 linux,U-Mail for linux 64-bit 邮件服务器软件下载|U-Mail for linux 64-bit 邮件服务器软件官方下载-太平洋下载中心...
  4. java retry_Spring重试支持Spring Retry的方法
  5. php实现秒杀、抢购的消息队列
  6. netcat使用教程
  7. python怎么复制字符串_python字符串复制的几种方法
  8. SQL Server 高级技术(二)—— 安全
  9. yii框架PHP项目,yii框架项目怎么部署
  10. 我的python爬虫学习之路