Dirichlet(狄利克雷)卷积
时间:2021-08-14
本文章向大家介绍Dirichlet(狄利克雷)卷积,主要包括Dirichlet(狄利克雷)卷积使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
数论函数:定义域在正整数的函数,更一般的说可以是定义在整数上的。
性质
\[1.(f+g)(x)=f(x)+g(x) \\
2.(nf)(x)=n*f(x) \\
\]
现在设有数论函数h,g,f
若
\[ h(N)=\sum_{d \backslash N} f(d)g(\frac{N}{d})
\]
那么h就被称f和d的狄利克雷卷积,可以记作h=f*g ,这里的乘号是卷积乘.
eg.\(h(6)=f(1)g(6)+f(2)g(3)+f(3)g(2)+f(6)g(1)\)
性质:
1.
定义单位函数\(\varepsilon\)为狄利克雷卷积的单位元,对于任意函数f,都\(f*\varepsilon=\varepsilon*f=f\)
\[\varepsilon(x) = [x=1]
\]
3.狄利克雷卷积满足\(结合律f*(g*t)=(f*g)*t,交换律f*g=g*f,分配律f*(t+g)=f*t+f*g\)
4.如果f和g都是积性函数,那么它们的狄利克雷卷积也是积性函数,那么就可以用欧拉筛来筛狄利克雷卷积,其实还有其他作用.
5.有逆元
计算狄利克雷卷积
计算h(N)需要枚举N的约数。时间复杂度\(O(\sqrt N)\)
求前N项的h(x),时间复杂度为\(O(N \ log \ N)\)
求狄利克雷卷积的逆元
狄利克雷卷积有一个性质:对每个\(f(1)≠0\)的函数f,都存在一个函数g使得 \(f∗g=ϵ\)
定义
\[g(n)=\frac{1}{f(1)}([n=1]-\sum_{i \mid n, i \neq 1} f(i) g(\frac{n}{i}) \ \ )
\]
\[\begin{aligned}
& \sum_{i \mid n} f(i) g(\frac{n}{i}) \\
=& f(1) g(n)+\sum_{i \backslash n, i \neq 1} f(i) g(\frac{n}{i}) \\
=&[n=1]
\end{aligned}
\]
应用:见莫反证明咯
本文来自博客园,作者:{2519},转载请注明原文链接:https://www.cnblogs.com/QQ2519/p/15140529.html
原文地址:https://www.cnblogs.com/QQ2519/p/15140529.html
- 配置Quartz.net Cluster以及远程管理
- [原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
- Flash/Flex学习笔记(49):3D基础
- Flash/Flex学习笔记(51):3维旋转与透视变换(PerspectiveProjection)
- Linux系统批量化安装部署之Cobbler
- 解决JQuery中的ready函数冲突
- 关于监视容器我们了解的5件事
- C#检测SqlServer中某张表是否存在
- Cobbler自动化批量安装linux服务器的操作记录
- Twemproxy——针对MemCached与Redis的代理
- 谁适合学Python?学了Python可以做什么工作?
- webservice今日遇到的二个问题:DataTable + Namespace
- php安全配置记录和常见错误梳理
- Flex:地图缩放平移效果(简易版)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 精讲响应式WebClient第3篇-POST、DELETE、PUT方法使用
- C++的黑魔法: 用四种方式实现add!
- 精讲响应式WebClient第2篇-GET请求阻塞与非阻塞调用方法详解
- 算法篇:位运算异或的使用(一)
- 精讲响应式webclient第1篇-响应式非阻塞IO与基础用法
- k8s 二进制集群平滑升级 1.15.2升级至1.16.4
- 使用Java API进行tar.gz文件及文件夹压缩解压缩
- 动画 | 一文掌握 Flex 布局
- 精讲响应式WebClient第6篇-请求失败自动重试机制
- 算法篇:位运算基本操作
- Vue 项目中各种痛点问题及方案
- 算法篇:位运算进阶(二)
- 算法篇:摩尔投票法的使用
- 理解ECMAScript规范(2)
- 算法篇:数的转换