【数学】积性函数(以 P2303 为例)

定义:

若函数 f ( x ) f(x) f(x) 满足 ∀ gcd ⁡ ( a , b ) = 1 , f ( a b ) = f ( a ) f ( b ) \forall \gcd(a,b)=1, f(ab)=f(a)f(b) gcd(a,b)=1,f(ab)=f(a)f(b),则函数 f f f 为积性函数。

函数:

  • 莫比乌斯函数 μ ( x ) \mu(x) μ(x) 为积性函数

    证明:令 a = p 1 α 1 p 2 α 2 … p k α k a=p_1^{\alpha_1}p_2^{\alpha_2}\dots p_k^{\alpha_k} a=p1α1p2α2pkαk b = q 1 β 1 q 2 β 2 … q t β t b=q_1^{\beta_1}q_2^{\beta_2}\dots q_t^{\beta_t} b=q1β1q2β2qtβt

    则若 ∃ i , α i ≥ 2 \exist i,\alpha_i\ge 2 i,αi2 ∃ i , β i ≥ 2 \exist i,\beta_i\ge 2 i,βi2,那么 μ ( a ) μ ( b ) = 0 \mu(a)\mu(b)=0 μ(a)μ(b)=0,而 a b ab ab 中也一定存在某个质因子的次数大于等于 2 2 2,所以 μ ( a b ) = 0 \mu(ab)=0 μ(ab)=0,故该情况成立。

    反之,若 ∀ i ∈ [ 1 , k ] , j ∈ [ 1 , t ] , α i = 1 , β j = 1 \forall i\in[1,k],j\in [1,t],\alpha_i=1,\beta_j=1 i[1,k],j[1,t],αi=1,βj=1,则 μ ( a ) = ( − 1 ) k , μ ( b ) = ( − 1 ) t \mu(a)=(-1)^{k},\mu(b)=(-1)^t μ(a)=(1)k,μ(b)=(1)t a b = p 1 p 2 … p k q 1 … q t ab=p_1p_2\dots p_kq_1\dots q_t ab=p1p2pkq1qt,所以 μ ( a b ) = ( − 1 ) k + t = ( − 1 ) k ( − 1 ) t = μ ( a ) μ ( b ) \mu(ab)=(-1)^{k+t}=(-1)^k(-1)^t=\mu(a)\mu(b) μ(ab)=(1)k+t=(1)k(1)t=μ(a)μ(b)

    综上所述, μ ( x ) \mu(x) μ(x) 为积性函数。

  • 欧拉函数 φ ( x ) \varphi (x) φ(x) 为积性函数

    证明: φ ( a ) = a ∏ i = 1 k p i − 1 p i , φ ( b ) = b ∏ i = 1 t q i − 1 q i , φ ( a b ) = a b ∏ i = 1 k p i − 1 p i ∏ i = 1 t q i − 1 q i \varphi(a)=a\prod_{i=1}^k\frac{p_i-1}{p_i},\varphi(b)=b\prod_{i=1}^t\frac{q_i-1}{q_i},\varphi(ab)=ab\prod_{i=1}^k\frac{p_i-1}{p_i}\prod_{i=1}^t\frac{q_i-1}{q_i} φ(a)=ai=1kpipi1,φ(b)=bi=1tqiqi1,φ(ab)=abi=1kpipi1i=1tqiqi1

    为什么 a b ab ab 的分解质因数为: p 1 p 2 … p k q 1 q 2 … q t p_1p_2\dots p_kq_1q_2\dots q_t p1p2pkq1q2qt 呢?为什么不会 ∃ i , j , p i = q j \exist i,j ,p_i=q_j i,j,pi=qj 呢?——答:因为 a a a b b b 互质。

    所以 φ ( a b ) = φ ( a ) φ ( b ) \varphi(ab)=\varphi(a)\varphi(b) φ(ab)=φ(a)φ(b)

  • 最大公因数 gcd ⁡ ( x , n ) \gcd(x,n) gcd(x,n) n n n 固定的情况下,为积性函数

    证明:

    n = p 1 α 1 p 2 α 2 … p k α k , a b = p 1 β 1 p 2 β 2 … p k β k n=p_1^{\alpha_1}p_2^{\alpha_2}\dots p_k^{\alpha_k},ab=p_1^{\beta_1}p_2^{\beta_2}\dots p_k^{\beta_k} n=p1α1p2α2pkαk,ab=p1β1p2β2pkβk
    { a = p 1 θ 1 p 2 θ 2 … p k θ k b = p 1 β 1 − θ 1 p 2 β 2 − θ 2 … p k β k − θ k \begin{cases} &a=p_1^{\theta_1}p_2^{\theta_2}\dots p_k^{\theta_k}\\ &b=p_1^{\beta_1-\theta_1}p_2^{\beta_2-\theta_2}\dots p_k^{\beta_k-\theta_k} \end{cases} {a=p1θ1p2θ2pkθkb=p1β1θ1p2β2θ2pkβkθk

    gcd ⁡ ( a , n ) = p 1 min ⁡ ( θ 1 , α 1 ) p 2 min ⁡ ( θ 2 , α 2 ) … p k min ⁡ ( θ k , α k ) , gcd ⁡ ( b , n ) = p 1 min ⁡ ( β 1 − θ 1 , α 1 ) p 2 min ⁡ ( β 2 − θ 2 , α 2 ) … p k min ⁡ ( β k − θ k , α k ) \gcd(a,n)=p_1^{\min(\theta_1, \alpha_1)}p_2^{\min(\theta_2, \alpha_2)}\dots p_k^{\min(\theta_k, \alpha_k)},\gcd(b,n)=p_1^{\min(\beta_1-\theta_1, \alpha_1)}p_2^{\min(\beta_2-\theta_2, \alpha_2)}\dots p_k^{\min(\beta_k-\theta_k, \alpha_k)} gcd(a,n)=p1min(θ1,α1)p2min(θ2,α2)pkmin(θk,αk),gcd(b,n)=p1min(β1θ1,α1)p2min(β2θ2,α2)pkmin(βkθk,αk)

    由于 a a a b b b 互质,所以必定不存在某个质因子相同,故 ∀ i , θ i = 0 o r θ i = β i \forall i,\theta_i=0\ \mathrm{or}\ \theta_i=\beta_i i,θi=0 or θi=βi

    则: gcd ⁡ ( a , n ) gcd ⁡ ( b , n ) = p 1 min ⁡ ( α 1 , β 1 ) p 2 min ⁡ ( α 2 , β 2 ) … p k min ⁡ ( α k , β k ) = gcd ⁡ ( a b , n ) \gcd(a,n)\gcd(b,n)=p_1^{\min(\alpha_1,\beta_1)}p_2^{\min(\alpha_2,\beta_2)}\dots p_k^{\min(\alpha_k,\beta_k)}=\gcd(ab,n) gcd(a,n)gcd(b,n)=p1min(α1,β1)p2min(α2,β2)pkmin(αk,βk)=gcd(ab,n)

  • x x x 的正因子的数量 d ( x ) d(x) d(x) 为积性函数

    证明:与欧拉函数比较类似,略。

  • x x x 的正因子之和 σ ( x ) \sigma (x) σ(x) 为积性函数

    证明:

    a = p 1 α 1 p 2 α 2 … p k α k , b = q 1 α 1 q 2 α 2 … q t α t a=p_1^{\alpha_1}p_2^{\alpha_2}\dots p_k^{\alpha_k},b=q_1^{\alpha_1}q_2^{\alpha_2}\dots q_t^{\alpha_t} a=p1α1p2α2pkαk,b=q1α1q2α2qtαt

    则:
    σ ( a ) = ∏ j = 1 k ∑ i = 0 α j p j i , σ ( b ) = ∏ j = 1 t ∑ i = 0 β j q j i , σ ( a b ) = ∏ j = 1 k ∑ i = 0 α j p j i ∏ j = 1 t ∑ i = 0 β j q j i \sigma(a)=\prod_{j=1}^k\sum_{i=0}^{\alpha_j}{p_j}^i,\sigma(b)=\prod_{j=1}^t\sum_{i=0}^{\beta_j}{q_j}^i,\sigma(ab)=\prod_{j=1}^k\sum_{i=0}^{\alpha_j}{p_j}^i\prod_{j=1}^t\sum_{i=0}^{\beta_j}{q_j}^i σ(a)=j=1ki=0αjpji,σ(b)=j=1ti=0βjqjiσ(ab)=j=1ki=0αjpjij=1ti=0βjqji
    注:可以考虑去括号进行理解,每次其实就是在 k k k 个是式子里每一个选择一个质因数的次数。

    所以, σ ( a b ) = σ ( a ) σ ( b ) \sigma(ab)=\sigma(a)\sigma(b) σ(ab)=σ(a)σ(b)

例题精讲:

P2303 [SDOI2012] Longge 的问题

给定一个整数 n n n,你需要求出 ∑ i = 1 n gcd ⁡ ( i , n ) \sum\limits_{i=1}^n \gcd(i, n) i=1ngcd(i,n) 1 ≤ n < 2 32 1\leq n< 2^{32} 1n<232


考虑令 d = gcd ⁡ ( i , n ) d=\gcd(i,n) d=gcd(i,n),然后枚举 d d d,那么 d d d 能作为 i i i n n n 的最大公约数当且仅当 gcd ⁡ ( i d , n d ) = 1 \gcd(\frac{i}{d},\frac{n}{d})=1 gcd(di,dn)=1
∑ i = 1 n gcd ⁡ ( i , n ) = ∑ d ∣ n d ∑ d ∣ i [ gcd ⁡ ( i d , n d ) = 1 ] = ∑ d ∣ n d ∑ i = 1 n d [ gcd ⁡ ( i , n d ) = 1 ] ← 注意:这里的  i 与上式的  i 不同 = ∑ d ∣ n d φ ( n d ) \begin{aligned} &\sum_{i=1}^n\gcd(i,n)\\ =&\sum_{d|n}d\sum_{d|i}[\gcd(\frac{i}{d},\frac{n}{d})=1]\\ =&\sum_{d|n}d\sum_{i=1}^{\frac{n}{d}}[\gcd(i,\frac{n}{d})=1]\leftarrow 注意:这里的\ i\ 与上式的\ i\ 不同\\ =&\sum_{d|n}d\varphi(\frac{n}{d}) \end{aligned} ===i=1ngcd(i,n)dnddi[gcd(di,dn)=1]dndi=1dn[gcd(i,dn)=1]注意:这里的 i 与上式的 i 不同dndφ(dn)
这时候,时间复杂度为 O ( n d ( n ) ) O(\sqrt n d(n)) O(n d(n)) d ( n ) d(n) d(n) 表示为 n n n 的约数,已经可以通过本题。

不过,可以做到更好!
∑ d ∣ n d φ ( n d ) = ∑ d ∣ n n d φ ( d ) ← 注意这里的  d 为上式的 n d = ∑ d ∣ n n d d ∏ i = 1 k p i − 1 p i = ∑ d ∣ n n ∏ i = 1 k p i − 1 p i \begin{aligned} &\sum_{d|n}d\varphi(\frac{n}{d})\\ =&\sum_{d|n}\frac{n}{d}\varphi(d)\leftarrow 注意这里的\ d\ 为上式的 \frac{n}{d}\\ =&\sum_{d|n}\frac{n}{d}d\prod_{i=1}^k \frac{p_i-1}{p_i}\\ =&\sum_{d|n}n\prod_{i=1}^k \frac{p_i-1}{p_i}\\ \end{aligned} ===dndφ(dn)dndnφ(d)注意这里的 d 为上式的dndndndi=1kpipi1dnni=1kpipi1
这时候,借鉴一下证明正因子之和为积性函数的思路,可以化简为若干个多项式的乘积:
∏ i = 1 k ( 1 + p i − 1 p i + ⋯ + p i − 1 p i ⏟ α i ) \prod_{i=1}^k(1+\underbrace{\frac{p_i-1}{p_i}+\dots +\frac{p_i-1}{p_i}}_{\alpha_i}) i=1k(1+αi pipi1++pipi1)
其中 p p p α \alpha α n = ∏ i = 1 k p i α i n=\prod_{i=1}^k {p_i}^{\alpha_i} n=i=1kpiαi,式子的含义就是对于每一个约数 d d d,当前 p i p_i pi 不选则对答案的贡献为 1 1 1,反之为 p i − 1 p i \frac{p_i-1}{p_i} pipi1

所以,最终的答案为(不要忘记乘式子前面的 n n n):
n ∏ i = 1 k ( 1 + p i − 1 p i α i ) n\prod_{i=1}^k(1+\frac{p_i-1}{p_i}\alpha_i) ni=1k(1+pipi1αi)
时间复杂度: O ( n ) O(\sqrt n) O(n )


#include <bits/stdc++.h>
#define int long longusing namespace std;typedef pair<int, int> PII;
typedef long long LL;int n;signed main() {cin.tie(0);cout.tie(0);ios::sync_with_stdio(0);cin >> n;int res = n;for (int i = 2; i <= n / i; i ++)if (n % i == 0) {int cnt = 0;while (n % i == 0) cnt ++, n /= i;res = res / i * (i + (i - 1) * cnt);}if (n > 1) res = res / n * (2 * n - 1);cout << res << endl;return 0;
}

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

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

相关文章

修改 RabbitMQ 默认超时时间

MQ客户端正常运行&#xff0c;突然就报连接错误&#xff0c; 错误信息写的很明确&#xff0c;是客户端连接超时。 不过很疑虑&#xff0c;为什么会出现连接超时呢&#xff1f;代码没动过&#xff0c;网络也ok&#xff0c;也设置了心跳和重连机制。 最终在官网中找到了答案&am…

windows-MySQL5.7安装

1.安装包下载 https://downloads.mysql.com/archives/community/&#xff08;社区版下载链接&#xff09; 选择Archives可以下载历史包&#xff0c;此处使用5.7.43 2.解压文件 解压文件到你指定安装的目录&#xff1a;解压完成后在mysql-5.7.43-winx64下新建文件my.ini和d…

企业引入“四力平衡”理念,激励员工工作积极性

—— 如何激励业务人员的工作积极性&#xff1f;【所属行业】生产制造业【问题类型】业务人员绩效考核【客户背景】J公司成立于1985年&#xff0c;目前主要从事机床、工具及相关产品的进出口贸易和国内营销业务&#xff0c;自1990年以来&#xff0c;一直属于全国最大的500家外贸…

如何备考2024年AMC10:吃透2000-2023年1250道真题(限时免费送)

有家长朋友问&#xff0c;有没有适合初中学生参加的奥数类比赛&#xff1f;我推荐AMC10美国数学竞赛&#xff0c;在国内可以方便地参加&#xff0c;而且每年全国各省市参加的初中生越来越多。关于AMC10详细的介绍和常见问题解答&#xff0c;可以联系我获得。 那么如何在AMC10竞…

正大国际:黄金投资稳定与保值的避险之选

黄金作为备受投资者追捧的贵金属&#xff0c;在金融市场中扮演着重要的角色。黄金作为一种避险资产具有稳定性和保值特性&#xff0c;能够在市场动荡时提供投资者的资金保护&#xff0c; 正大召煮4/26/12 xiaoccsw 避险需求:当股票市场、货币市场或其他资产类别表现不佳时&a…

浅谈交直流混合微电网能量管理系统关键技术研究综述

摘要&#xff1a;为了提升交直流混合微电网健康有效发展&#xff0c;提高直流互联微电网中分布式电源的能源使用效率&#xff0c;提升区域微电网稳定发展&#xff0c;对交直流混合微电网能量管理系统关键技术进行分析和研究很有必要。文章主要从交直流混合微电网能量管理系统架…

浅谈数据治理之道 数据分析(三)

1. 写在前面 1.1前言 在数据治理中&#xff0c;只有通过深入的数据分析&#xff0c;才能挖掘数据的真正价值&#xff0c;否则数据就发挥不了其作用。数据分析是数据治理环节之一&#xff0c;意在通过收集、整理、处理和解释数据&#xff0c;以获取有价值的信息和洞察力的过程…

cephadm安装reef版本ceph集群

环境 操作系统 Rocky Linux 9.2 minimal 三个节点节点名称 ipmipub ipclus ipceph1192.168.255.8192.168.120.10ceph2192.168.255.9192.168.120.20ceph3192.168.255.10192.168.120.30 所有节点 yum -y install dmidecode vim wget lvm2 chrony epel-release yum-utils dev…

LEETCODE 44. 反转字符串

class Solution { public:void swap(int l,int r,vector<char>& s){char tmps[l];s[l]s[r];s[r]tmp;}void reverseString(vector<char>& s) {int left0;int rights.size()-1;while(left<right){swap(left,right,s);left1;right-1;}} };

印度尼西亚国家出口发展局局长一行莅临锐捷网络,共话数字经济未来

第四届中国跨境电商交易会举办期间,印度尼西亚国家出口发展局局长迪迪苏梅迪一行莅临锐捷网络参观交流,宣传推介印度尼西亚市场资源,挖掘中印尼双方企业合作机遇。福州市商务局副局长潘文等领导共同参与活动。锐捷网络副总裁、数据中心事业部总经理林东豪接待。 印度尼西亚国家…

cesium加载.tif格式文件

最近项目中有需要直接加载三方给的后缀名tif格式的文件 <script src"https://cdn.jsdelivr.net/npm/geotiff"></script> 或者 yarn add geotiff npm install geotiff 新建tifs.js import GeoTIFF, { fromBlob, fromUrl, fromArrayBuffer } from geotif…

android——【封装】使用建造者方式封装一个类

前言 在Kotlin中&#xff0c;使用建造者模式来封装一个类有以下几个好处&#xff1a; 简化对象的创建过程&#xff1a;使用建造者模式可以将复杂的对象创建过程分解为多个简单的步骤&#xff0c;使得代码更加清晰易读。通过链式调用&#xff0c;可以按需设置对象的属性&#xf…

HBase的Python API(happybase)操作

一、Windows下安装Python库&#xff1a;happybase pip install happybase -i https://pypi.tuna.tsinghua.edu.cn/simple 二、 开启HBase的Thrift服务 想要使用Python API连接HBase&#xff0c;需要开启HBase的Thrift服务。所以&#xff0c;在Linux服务器上&#xff0c;执行如…

香港高才通计划abc类的申请材料各不同,附官方续签攻略!

香港高才通计划abc类的申请材料各不同&#xff0c;附官方续签攻略&#xff01; 作为香港“史上最快获批签证”&#xff0c;高才通计划受到内地精英的热烈欢迎&#xff0c;香港高才通于2022年12月28日开放申请&#xff0c;截至2023年12月31日&#xff0c;香港高才通计划已接获62…

android 11 SystemUI 状态栏打开之后的界面层级关系说明之一

比如WiFi 图标的父layout为&#xff1a; Class Name: ButtonRelativeLayout Class Name: QSTileView Class Name: TilePage Class Name: PagedTileLayout Class Name: QSPanel Class Name: NonInterceptingScrollView Class Name: QSContainerImpl Class Name: FrameLayout Cl…

37.网络游戏逆向分析与漏洞攻防-游戏网络通信数据解析-解码器细化类的实现

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 如果看不懂、不知道现在做的什么&#xff0c;那就跟着做完看效果 内容参考于&#xff1a;易道云信息技术研究院VIP课 上一个内容&#xff1a;36.数据解码器的…

Docker进阶:Docker-compose 实现服务弹性伸缩

Docker进阶&#xff1a;Docker-compose 实现服务弹性伸缩 一、Docker Compose基础概念1.1 Docker Compose简介1.2 Docker Compose文件结构 二、弹性伸缩的原理和实现步骤2.1 弹性伸缩原理2.2 实现步骤 三、技术实践案例3.1 场景描述3.2 配置Docker Compose文件3.3 使用 docker-…

今天起,Windows可以一键召唤GPT-4了

现在&#xff0c;OpenAI 大模型加持的 Copilot 功能终于登陆 Windows 了。 把 Copilot 按钮放在 Windows 桌面的任务栏&#xff0c;甚至实体键盘上&#xff0c;用大模型提升每个人的生产效率。 美东时间 3 月 21 日周四&#xff0c;生成式 AI 领军的微软又为我们带来了一点小…

Web系统开发之——文章管理

原文地址&#xff1a;Web系统开发之——文章管理 - Pleasure的博客 下面是正文内容&#xff1a; 前言 经过一番考量&#xff0c;关于Web应用系统功能部分的开发&#xff0c;决定采取基础的文字文章管理为核心功能。 不再采取前后端分阶段完成的方式&#xff0c;而是以一个一个…

MyBatis基本开发步骤

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default"…