![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数学相关——莫比乌斯反演
文章平均质量分 92
迷蒙之雨
这个作者很懒,什么都没留下…
展开
-
Min25筛法学习小记
问题引入 已知积性函数f(x)f(x)f(x) 要求其前nnn项和(n≤1010n\leq 10^{10}n≤1010) 其中对于所有质数ppp 满足f(p)=a0+a1p+a2p2……f(p)=a_0+a_1p+a_2p^2……f(p)=a0+a1p+a2p2…… 也就是可以表示成一个低阶多项式 且f(pk)f(p^k)f(pk)可以快速计算 I 定义lst(x)lst(x)lst(x)表示xxx的最小质因子,pkp_kpk表示第kkk个质数,特别的,p0=1p_0=1p0=1 我们把答案拆成质原创 2022-03-01 13:16:28 · 154 阅读 · 0 评论 -
数论模板总结
欧拉筛 思路,记录每个数最小的质因子,使每个数只被筛一次 void sieve() { for(int i=1;i<=n;i++) { if(!v[i]) { v[i]=i; phi[i]=i-1; prime[++tot]=i; } for(int j=1;j<=tot;j++) { if(prime[j]>v[i]||i*prime[j]>n) break; v[i*prime[j]]=prime[j]; phi[i*p原创 2022-01-28 16:02:45 · 1034 阅读 · 0 评论 -
杜教筛(进阶篇)
一道更比一道毒瘤 [51 nod 1227] 平均最小公倍数 其实就是求 ans=Ans(b)−Ans(a−1)ans=Ans(b)-Ans(a-1)ans=Ans(b)−Ans(a−1) 因此我们只需要求出函数Ans(n)Ans(n)Ans(n)就行了 Ans(n)=∑i=1n1i∑j=1ilcm(j,i)Ans(n)=\sum_{i=1}^n\frac{1}{i}\sum_{j=1}^ilcm(j,i)Ans(n)=i=1∑ni1j=1∑ilcm(j,i) =∑i=1n1i∑j=1ijigcd(j原创 2022-01-27 21:48:35 · 964 阅读 · 0 评论 -
杜教筛(基础篇)
前置知识:莫比乌斯反演专题(基础篇) 杜教筛 设f(n)f(n)f(n)为一积性函数 求S(n)=∑i=1nf(i)S(n)=\sum_{i=1}^nf(i)S(n)=∑i=1nf(i),n≤1010n\leq 10^{10}n≤1010 我们考虑给f(n)f(n)f(n)卷上另一个积性函数f(n)f(n)f(n)再做前缀和 ∑i=1n∑d∣ig(d)f(id)\sum_{i=1}^n\sum_{d|i}g(d)f(\frac{i}{d})i=1∑nd∣i∑g(d)f(di) ∑d=1ng(d)∑d原创 2022-01-26 10:36:20 · 818 阅读 · 0 评论 -
莫比乌斯反演专题(进阶篇)
51nod 1675 序列变换 我们构造两个新的数列A,BA,BA,B Ax=abx,Bx=baxA_x=a_{b_x},B_x=b_{a_x}Ax=abx,Bx=bax 则题目给的条件等价于 gcd(i,j)==1,Ai=Bjgcd(i,j)==1,A_i=B_jgcd(i,j)==1,Ai=Bj的i,ji,ji,j个数 我们考虑设f(x)f(x)f(x)表示gcd(i,j)==x,Ai=Bjgcd(i,j)==x,A_i=B_jgcd(i,j)==x,Ai=Bj的i,ji,ji,j个原创 2022-01-25 10:41:35 · 371 阅读 · 0 评论 -
莫比乌斯反演专题(基础篇)
0:前置知识 线性筛积性函数 int mu[N],prime[N],tot=0; int v[N]; void sieve() { mu[1]=1; for(int i=2;i<=n;i++) { if(!v[i]) { v[i]=i; prime[++tot]=i; mu[i]=-1; } for(int j=1;j<=tot;j++) { if(prime[j]>v[i]||i*prime[j]>n) break; v[i*原创 2022-01-24 16:12:28 · 529 阅读 · 0 评论