另一个 $O(n(\log \log n)^2)$ 的 Dirichlet 卷积算法

本文是 这篇博客 中的算法的一个变体.

我们首先定义 正交 Dirichlet 卷积 的概念:

\[(f \star g)(n) = \sum_{\substack{ab=n\\a\perp b}} f(a)g(b). \]

观察. 正交 Dirichlet 卷积可以在 \(O(n (\log \log n)^2)\) 时间内计算.

证明. 这是子集卷积道理. 正交 Dirichlet 卷积可以写作

\[(f \star g)(n) = \sum_{\operatorname{lcm}(a,b)=n} [\omega(a)+\omega(b) = \omega(n)] f(a)g(b), \]

其中 \(\omega\) 是质因子数量.

所以用 \(\omega(\bullet)\) 占位, 做整除关系的半格卷积, 可以在 \(O(n (\log \log n)^2)\) 时间内计算正交 Dirichlet 卷积. \(\square\)

推论. Dirichlet 卷积可以在同样的时间内计算.

证明. 对于贡献 \(a, b \mapsto n = ab\), 我们可以将其分解为公共部分 \(g = \gcd(a, b)\) 和正交部分 \(a/g, b/g\).

所以枚举 \(g\leq \sqrt n\), 所有下标整除 \(g\) 的部分对应的正交卷积, 贡献给 \(g^2\) 倍数的下标部分.

由于正交卷积的时间复杂度是 \(T(n)=O(n (\log \log n)^2)\), 所以 Dirichlet 卷积的时间复杂度在

\[\sum_{g\leq \sqrt n} T(n/g^2) = O(n (\log \log n)^2). \square \]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906423.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty源码—7.ByteBuf原理二

大纲 9.Netty的内存规格 10.缓存数据结构 11.命中缓存的分配流程 12.Netty里有关内存分配的重要概念 13.Page级别的内存分配 14.SubPage级别的内存分配 15.ByteBuf的回收9.Netty的内存规格 (1)4种内存规格 (2)内存申请单位(1)4种内存规格 一.tiny:表示从0到512字节之间的内存大…

一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量

在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术。本篇文章介绍了互斥锁(Lock)、递归锁(RLock) 和 信号量(Semaphore) 的概念与应用。互斥锁用于防止多个线程同时修改数据,递归锁适用于嵌套锁定场景,而信号量则限制同时访问资源的线程数。一…

K3D|高效创建轻量级 k8s 集群 (run in dokcer)

k3d 是一个轻量级的包装器,用于在 docker 中运行 k3s(Rancher Lab 的最小 Kubernetes 发行版)什么是 K3S 官网:https://k3s.io/ 指南:https://rancher.com/docs/k3s/latest/en/ 中文版指南:https://docs.rancher.cn/docs/k3s/_index/ K3s 是一个轻量级的 Kubernetes 发行…

记录一下安装适用于intel 显卡的torch

支持的硬件和驱动如下按照表格安装好驱动。使用conda创建好虚拟环境(Python 3.9, 3.10, 3.11, 3.12, 3.13.)后,我的显卡是arc A580# For hardware listed in the table above, other than Intel Core™ Ultra Series 2 Mobile Processors (Arrow Lake-H), use the commands …

AP CSA FRQ Q2 Past Paper 五年真题汇总 2023-2019

Author(wechat): bigshuang2020 ap csa tutor, providing 1-on-1 tutoring. 国际教育计算机老师, 擅长答疑讲解,带学生实践学习。 热爱创作,作品:ap csa原创双语教案,真题梳理汇总, AP CSA FRQ专题冲刺, AP CSA MCQ小题狂练。2023 FRQ Q2 Sign This question involves met…

RabbitMQ的核心组成部分即分发模式

核心概念:Server:又称Broker ,接受客户端的连接,实现AMQP实体服务。 安装rabbitmq-serverConnection:连接,应用程序与Broker的网络连接 TCP/IP/ 三次握手和四次挥手Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立对各…

RabbitMQ的核心组成部分

核心概念:Server:又称Broker ,接受客户端的连接,实现AMQP实体服务。 安装rabbitmq-serverConnection:连接,应用程序与Broker的网络连接 TCP/IP/ 三次握手和四次挥手Channel:网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,客户端可以建立对各…

Oracle11备份方案

备份方案(一) 1.1.备份脚本#!/bin/bash # Oracle 11g 业务库备份脚本# 配置部分 ORACLE_SID=orcl # 数据库实例名(按实际修改) BACKUP_DIR=/opt/oracle/backups # 备份存储目录 LOG_DIR=/opt/oracle/logs # 日志目录 KEEP_COPIES=7 # 保…

20242909 2024-2025-2 《网络攻防实践》实践四报告

20242909 2024-2025-2 《网络攻防实践》实践四报告 1.实践内容 在网络攻防环境中利用攻击机对靶机分别进行ARP欺骗攻击、ICMP重定向攻击、SYN FLOOD攻击和TCP RST攻击以及TCP会话劫持攻击等网络攻击方式。上述常见的网络攻击技术解析如下: 1.1 ARP欺骗攻击 ARP欺骗是通过伪造A…

20242203许振宇 2024-2025-2 《Python程序设计》实验二报告

20242203 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2422 姓名: 许振宇 学号:20242203 实验教师:王志强 实验日期:2024年3月26日 必修/选修: 公选课 1.实验内容 1.设计并完成一个完整的应用程序,以完成加减乘除模等运算。 2.尝试设计一…

Grafana的基于角色的访问控制RBAC

创建全局用户设置用户权限创建团队团队添加成员Dashboard的权限管理 在任意一个Dashboard设置中

AccessibilityService微信自动化节点元素混淆问题解决

问题背景 AccessibilityService获取微信版本8.0.52以上的节点元素时信息会被混淆打乱,导致无法正常执行AccessibilityService自动化逻辑,这个问题直接影响自动化脚本对于后面微信版本的兼容。 解决 在自动化开源库Assists有网友提了这个关于微信的issues,最终也是他提供的解…