ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

莫反 复习

2021-04-27 09:01:49  阅读:146  来源: 互联网

标签:... 复习 积性 质数 定义 莫反 log 函数


模拟赛考了一道莫反结果只写了低档暴力

定义完全积性函数:定义域在\(>0\)的自然数内。
有\(f(ab)=f(a)f(b)\)
例子:\(f(a)=a\)

定义积性函数:如果\((a,b)=1,f(ab)=f(a)f(b)\)
推论:设\(a\)的唯一分解:\(p_1^{b1}p_2^{b2}...p_n^{bn}\),则\(f(a)=f(p_1^{b1})f(p_2^{b2})...f(p_n^{bn})\)

积性函数的求法:线性筛。
在遍历所有倍数的过程中:
要求当\(i\mod p=0\)时,则\(f(ip)\)的值能够被算出。
当\(i\mod p\neq 0\)时,按照积性函数的性质计算\(f(ip)\)
所以线性筛法要求:在质数处的取值能够快速算出,一个数和质数的乘积的函数值可以快速算出。
事实上,根据素数定理,我们只需要做\(\frac{n}{\log_2n}\)次函数在质数处的求值。
这使得我们可以在几乎线性的时间内求出所有\(i^k\)。

定义两个函数的dirchlet卷积:\(h(n)=\sum f(\frac{n}{i})g(i)\)
其中\(i|n\)

定义mobius函数\(u\)。
它的函数值:
当\(a=1\),\(u(a)=1\)
设\(a\)的唯一分解:\(p_1^{b1}p_2^{b2}...p_n^{bn}\)
当\(b_1=b_2=...=b_n=1\),则\(u(a)=(-1)^n\)
否则\(u(a)=0\)
这事实上满足上面筛法对与积性函数的约定,所以可以线性筛求出。

定义dirchlet前缀和:\(b(n)=\sum a(\frac{n}{i})\),其中\(i|n\)
它有两种做法:
做法1:枚举\(a(x)\),贡献到\(x\)的倍数。
时间复杂度\(O(n\log_2n)\)
做法2:魔力筛

void si(int *a){
	for(int i=1;p[i]<=n;i++)
		for(int j=1;j*p[i]<=n;j++)
			a[j*p[i]]+=a[j];
}

\(p\)是素数表。
考虑\(j\)的唯一分解,发现事实上它是在按照质数从小到大的顺序做高维前缀和。
这就证明了它的正确性
可以证明时间复杂度是\(O(n\log_2\log_2n)\)

标签:...,复习,积性,质数,定义,莫反,log,函数
来源: https://www.cnblogs.com/ctmlpfs/p/14707324.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有