莫比乌斯反演
Master.Yi
学习他人,提升自己;
提升自己,帮助他人。
展开
-
Codeforces1043F Make It One【gcd为1的最小子集】
题目描述:给出长度为nnn的序列aia_iai,选出最少的数(非空)使得它们的gcdgcdgcd为111n,ai≤3∗105n,a_i\le3*10^5n,ai≤3∗105,无解输出−1-1−1题目分析:3∗1053*10^53∗105以内质因子最多的数只有6个,而如果有解,考虑其中质因子最少的数xxx,其余每个数一定囊括了一个不在xxx中的质因子,且各自囊括的那个质因子不同,(相当于不断去掉gcd的因子)。也就是说答案最多是xxx的质因子个数+1,也就是777。这张例子截自洛谷的题解:那原创 2020-05-29 18:20:36 · 351 阅读 · 0 评论 -
Codeforces809E - Surprise me!【欧拉函数变换 + 莫比乌斯反演 + 虚树】
题目描述:见洛谷n≤2∗105n\le2*10^5n≤2∗105题目分析:首先考虑怎么解决 φ(i∗j)\varphi(i*j)φ(i∗j)。我们希望的自然是把它变成 φ(i)∗φ(j)\varphi(i)*\varphi(j)φ(i)∗φ(j) 方便独立计算,那么观察这两个形式的差别:φ(i)∗φ(j)=i∗j∗∏p∣i(1−1p)∏p∣j(1−1p)φ(i∗j)=i∗j∗∏p∣ij(1−1p)\begin{aligned}\varphi(i)*\varphi(j)&=i*j*\pr原创 2020-05-29 17:11:12 · 142 阅读 · 0 评论 -
51nod 1594 Gcd and Phi【莫比乌斯反演】
题目描述:n≤2∗106n\le2*10^6n≤2∗106题目分析:枚举gcd(φ(i),φ(j))gcd(\varphi(i),\varphi(j))gcd(φ(i),φ(j)):F(n)=∑d=1nφ(d)∑d∣φ(i)∑d∣φ(j)[(φ(i),φ(j))=d]F(n)=\sum_{d=1}^n\varphi(d)\sum_{d|\varphi(i)}\sum_{d|\varphi...原创 2020-01-14 15:39:26 · 151 阅读 · 0 评论 -
51nod1584 加权约数和【线性筛】
题目描述:求∑i=1N∑j=1Nmax(i,j)⋅σ(i⋅j) mod 109+7\sum_{i=1}^N\sum_{j=1}^N\max(i,j)\cdot\sigma(i\cdot j)~\mod 10^9+7i=1∑Nj=1∑Nmax(i,j)⋅σ(i⋅j) mod109+7其中σ(i⋅j)\sigma(i\cdot j)σ(i⋅j)表示i⋅ji\cdot j...原创 2020-01-13 18:57:28 · 125 阅读 · 0 评论 -
NOIP模拟赛20191112 T3 c【推式子(莫比乌斯反演)】
题目描述:求:∑d∣n,d∣s∑g∣ndμ(g)∗⌊mdg⌋\sum_{d|n,d|s}\sum_{g|\frac nd}\mu(g)*\lfloor\frac m{dg}\rfloord∣n,d∣s∑g∣dn∑μ(g)∗⌊dgm⌋其中n,m,sn,m,sn,m,s满足{n=n1⋅n2⋅n3m=m1⋅m2⋅m3s=s1⋅s2⋅s3\begin{cases}n=n_1\cdot n_2...原创 2019-11-12 15:07:46 · 175 阅读 · 0 评论 -
BZOJ3601 一个人的数论【莫比乌斯反演+拉格朗日插值求自然数幂和多项式系数】
题目描述:题目分析:这似乎是官方题解:题解1这是比较详细的题解:题解2拉格朗日插值求系数调错调了1h+…#include<bits/stdc++.h>#define maxn 105using namespace std;const int mod = 1e9+7;int d,n,a[maxn],s[maxn],f[maxn],len;inline int Pow...原创 2019-10-19 17:31:08 · 157 阅读 · 0 评论 -
51nod1222 最小公倍数计数 【莫比乌斯反演】
题目描述f(n)=(lcm(x,y)==n的二元组(x&lt;=y)的数量)f(n)=\left(lcm(x,y)==n的二元组(x&lt;=y)的数量\right)f(n)=(lcm(x,y)==n的二元组(x<=y)的数量)求∑i=abf(i)\sum_{i=a}^bf(i)∑i=abf(i)1≤a≤b≤10111\le a\le b\le10^{11}1≤a≤b...原创 2018-12-16 15:44:42 · 257 阅读 · 0 评论 -
BZOJ3701 Olympic Games 莫比乌斯反演
题目描述给出n,m,l,r,modn,m,l,r,modn,m,l,r,mod求(n+1)∗(m+1)(n+1)*(m+1)(n+1)∗(m+1)的网格上能相互看见的点对数对mod取模的值能相互看见定义为两点的连线不经过其他点,且欧氏距离在[l,r]范围内n,m≤100000n,m\le100000n,m≤100000l,r≤150000l,r\le150000l,r≤150000m...原创 2018-12-03 20:14:12 · 157 阅读 · 0 评论 -
HDU5608 function 【杜教筛】
题目描述N2−3N+2=∑d∣nf(d)N^2-3N+2=\sum_{d|n}f(d)N2−3N+2=∑d∣nf(d)求∑i=1nf(i)&nbsp;&nbsp;mod&nbsp;&nbsp;1e9+7\sum_{i=1}^nf(i)~~mod~~1e9+7∑i=1nf(i)&nbsp;&nbsp;mod&nbsp;&nbsp;1e9+7多组数据,T≤500,N≤109T原创 2018-12-05 17:57:41 · 229 阅读 · 0 评论 -
【莫比乌斯反演总结】
f(n)表示某一范围内(x,y)=n的数对的数量,F(n)表示某一范围内n|(x,y)的数对的数量那么直接求f(n)并不是很好求,而F(n)求起来相对无脑一些,我们可以通过对F(n)进行莫比乌斯反演来求得f(n)线性筛μ模板:void Prime(int N){ mu[1]=1;int cnt=0; for(int i=2;i&amp;amp;amp;lt;=N;i++) { if(!v[i]) p...原创 2018-11-30 00:25:19 · 349 阅读 · 0 评论