积性函数与狄利克雷卷积

积性函数

【定义】

若对于一个数论函数 f,有:

(a,b)=1,有 f(a×b)=f(a)×f(b)

f 是一个积性函数。

特别地,若对于任意数 a,b,有 f(a×b)=f(a)×f(b)

f 是一个完全积性函数。

积性函数举例:

欧拉函数,因数个数,因数和 ……

完全积性函数举例:

幂函数 ……

【作用】

这说明,f(a×b) 是可以被 f(a)f(b) 递推出来的。

欧拉函数的递推代码:

int pr[N], cnt = 0;
bool f[N] = {};

int phi[N] = {};

void init() {
	memset(f, true, sizeof f);
	f[0] = f[1] = false;
	phi[1] = 1;
	for (int i = 2; i <= n; i++) {
		if (f[i]) {
			pr[++cnt] = i;
			phi[i] = i - 1;
		}
		for (int j = 1; j <= cnt && pr[j] * i <= n; j++) {
			//此时pr[j]就是pr[j]*i的最小质因数 
			f[pr[j] * i] = false;
			if (i % pr[j])
				phi[pr[j] * i] = phi[pr[j]] * phi[i];
			else
				phi[pr[j] * i] = phi[i] * pr[j];
			if (i % pr[j] == 0)
				break;
		}
	}
}

狄利克雷卷积

f,g 是两个数论函数,则它们的狄利克雷卷积 (fg)(n)=d|nf(d)×g(nd)

性质:若 f,g 为积性函数,则 fg 仍为积性函数。

证明:设 ab=n,(a,b)=1,记 h=fg

h(n)=h(ab)=d|abf(d)×g(abd)

=d1|a,d2|bf(d1d2)×g(abd1d2)

注意到因为 (a,b)=1,所以 (d1,d2)=1,这就可以利用积性函数的性质了。

=d1|af(d1)×g(ad1)d2|bf(d2)×g(bd2)

=h(a)×h(b)

证毕。

推论f(n)=f(p1a1)f(p2a2)f(pkak),即 n 的分解形式。

posted @   FLY_lai  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示