![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
莫比乌斯反演
文章平均质量分 92
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
【WC2014】时空穿梭(莫比乌斯反演)(组合数学)
传送门考虑枚举各维最大最小坐标的差量 Δi\Delta_iΔi,可以写出式子:Ans=∑Δ(gcd(Δ1...n)−1c−2)∏i=1n(mi−Δi)=∑d(d−1c−2)∑Δ∏i=1n(mi−dΔi)[gcd(Δ1...n)=1]=∑d(d−1c−2)∑lμ(l)∑Δ(∏i=1nmi−dlΔi)=∑T∏i=1n(∑jmi/Tmi−Tj)∑l∣Tμ(l)(d−1c−2)Ans=\sum_{\Delta}\binom{gcd(\Delta_{1...n})-1}{c-2}\prod_{i=1}^n (m原创 2020-06-05 12:43:00 · 274 阅读 · 0 评论 -
【省选模拟】20/04/07 羊 (莫比乌斯反演)(杜教筛 / min25)
今天被打爆了。。。题解单独写题意:求∑k=1n∑i=1k∑j=1kgcd(i,j,k)\sum_{k=1}^n\sum_{i=1}^k\sum_{j=1}^kgcd(i,j,k)k=1∑ni=1∑kj=1∑kgcd(i,j,k)简单反演Ans=∑k∑d∣kd∑i∑j[gcd(i,j,k)=d]=∑k∑d∣kd∑ik/d∑jk/d[gcd(i,j,k/d)=1]=∑k∑d∣kd...原创 2020-04-07 17:14:45 · 182 阅读 · 1 评论 -
【HDU6711】Touma Kazusa's function(莫比乌斯反演)(莫队)
传送门显然枚举 ai,aja_i,a_jai,aj 很不好看,我们改成枚举数值,直接莫比乌斯反演Ans=∑dndφ(d)∑in/d∑jn/dij[(i,j)=1]cntidcntjd=∑ddφ(d)∑ln/dμ(l)(∑l∣iicntid)(∑l∣jjcntjd)=∑ddφ(d)∑lμ(l)l2(∑in/dlicntidl)2=∑T(∑in/TicntiT)2(∑d∣Tdφ(d)μ(Td...原创 2020-04-02 23:26:56 · 418 阅读 · 1 评论 -
NOI2016 循环之美(莫比乌斯反演)(杜教筛)
传送门考虑什么样的 xy\frac{x}{y}yx 可以成为纯循环小数设其循环节为 LLL,那么有xy∗kL−xy\frac{x}{y}*k^L-\frac{x}{y}yx∗kL−yx 为整数每一对贡献在 gcd(x,y)=1gcd(x,y)=1gcd(x,y)=1 的时候统计,于是上面这个条件可以转换为∃L,s.t,kL−1≡0(mod y)\exists L,s.t,...原创 2020-01-04 21:01:12 · 224 阅读 · 0 评论 -
SDOI2018 旧试题(莫比乌斯反演)(三元环计数)
传送门旧试题 ---- 约数个数和 ?利用那道题的推论,发现d(ijk)=∑p∣i∑q∣j∑r∣k[(p,q)=1][(q,r)=1][(p,r)=1]d(ijk)=\sum_{p|i}\sum_{q|j}\sum_{r|k}[(p,q)=1][(q,r)=1][(p,r)=1]d(ijk)=p∣i∑q∣j∑r∣k∑[(p,q)=1][(q,r)=1][(p,r)=1]证明类似不再赘...原创 2019-12-19 22:02:51 · 170 阅读 · 0 评论 -
51nod1584 加权约数和 (莫比乌斯反演)
传送门如果求出 f(n)=∑i∑j≤ii∗σ(ij),g(n)=∑ii∗σ(i2)f(n)=\sum_i\sum_{j\le i}i*\sigma(ij),g(n)=\sum_i i*\sigma(i^2)f(n)=∑i∑j≤ii∗σ(ij),g(n)=∑ii∗σ(i2)那么 2∗f(n)−g(n)2*f(n)-g(n)2∗f(n)−g(n) 就是答案有一个结论是σ0(ij)=∑d∣...原创 2019-12-19 21:48:01 · 142 阅读 · 0 评论 -
SDOI2018 反回文串 (计数)(Pollard-Rho)(莫比乌斯反演)
传送门一直没敢动,但发现前几天做过一道类似的回文串计数,发现这道题也没有想象中的难考虑一个回文串能转出来几个不同的串显然是循环节大小这么多个,考虑让一个回文串的贡献为它的循环节的大小但发现这样子是算重了的,一个回文串有可能转出一个更它不同的回文串发现这种情况只会在串长为偶数的情况出现一次,于是我们让偶数串的贡献为 1/21/21/2 的循环节大小即可用一个函数 h(n)h(n)h(n)...原创 2019-12-19 21:28:05 · 228 阅读 · 0 评论 -
【51nod1355】斐波那契的最小公倍数(min - max容斥)(容斥)(反演)
题意:给 mmm 个数 aia_iai,求 lcm(fib(ai))lcm(fib(a_i))lcm(fib(ai)),m≤4e5,ai≤1e6m\le 4e5, a_i\le 1e6m≤4e5,ai≤1e6,对 1e9+71e9+71e9+7 取模首先我们知道斐波那契数列的一些性质gcd(fibi,fibi−1)=1gcd(fib_i,fib_{i-1})=1gcd(fibi,...原创 2019-12-11 18:24:15 · 190 阅读 · 0 评论 -
CSP-S 模拟 轻飘飘的时间 (莫比乌斯反演)(杜教筛)(Lucas)
题意:给定 n,m,dn,m,dn,m,d,求∑i=1n∑j=1m(gcd(i,j)B)\sum_{i=1}^n\sum_{j=1}^m\binom{gcd(i,j)}{B}i=1∑nj=1∑m(Bgcd(i,j))直接反演∑d=1n(dB)∑l=1ndμ(l)⌊ndl⌋⌊mdl⌋\sum_{d=1}^n\binom{d}{B}\sum_{l=1}^{\frac{n}{d}}\mu (...原创 2019-11-06 13:45:57 · 243 阅读 · 0 评论 -
太阳神 [莫比乌斯反演]
比较容易想到,先将 > n 转换成 <= n然后就可以直接暴力枚举 l,然后快速计算 (d, i, j) 的对数不妨设 d <= i <= j,然后 d 只需要枚举到, i 从 d 开始枚举到, 就可以暴力怼过#include<bits/stdc++.h>#define N 100050using namespace std;ty...原创 2019-08-09 21:39:01 · 249 阅读 · 0 评论 -
[BZOJ4305] 数列的GCD [容斥/莫比乌斯反演+组合数学]
传送门考虑答案为 gcd 的倍数的情况就要好做很多设 cnt 为 d 的倍数的个数考虑容斥,发现#include<bits/stdc++.h>#define N 300050using namespace std;typedef long long ll;const int Mod = 1000000007;ll add(ll a, ll b){ ...原创 2019-08-09 21:24:18 · 193 阅读 · 0 评论 -
BZOJ2671 Calc [莫比乌斯反演]
传送门设 d = gcd(a, b), a = ud, b = vd因为 gcd(u, v) = 1, 所以 gcd(u+v, v) = gcd(u+v, u) = 1然后卡一下上界枚举 k 的时候再整除分块就可以直接怼过去#include<bits/stdc++.h>#define N 100050using namespace st...原创 2019-08-09 20:40:42 · 221 阅读 · 0 评论 -
[WOJ3575] Lucas的数论[莫比乌斯反演+杜教筛]
传送门反演一波枚举k,l发现n/t 总共有根号n个取值, 每算一次前缀和是根号n的可以证明时间复杂度是n^3/4, mu用杜教筛#include<bits/stdc++.h>#define N 2000050#define Mod 1000000007#define LL long long#define M 50050using nam...原创 2019-02-19 13:15:21 · 228 阅读 · 0 评论 -
[bzoj3561] DZY Loves Math VI [莫比乌斯反演]
传送门来自巨神zxyoi学长强烈推荐哦 https://blog.csdn.net/zxyoi_dreamer/article/details/86761985#BZOJ3561DZY_Loves_Math_VI_4580 #include<bits/stdc++.h>#define N 500050#define LL long long#define...原创 2019-02-18 23:27:59 · 176 阅读 · 0 评论 -
[bzoj3309]DZY Loves Math [莫比乌斯反演+蜜汁线性筛]
传送门很容易推出令 然后考虑预处理g(T) 的前缀和, n<=10^7 只有线性筛来自巨神zxyoi 半懂半懂的, 对于线性筛一些函数的问题, 先留一个坑 #include<bits/stdc++.h>#define N 10000050#define LL long longusing namespace std;int g...原创 2019-02-18 20:32:27 · 176 阅读 · 0 评论 -
[SDOI2015]约数个数和 [莫比乌斯反演]
传送门用整除分块预处理 发现对于连续的d , n/d的取值一样 , 也就是说 的取值一样 , 然后就可以整除分块做了#include<bits/stdc++.h>#define N 50050#define LL long longusing namespace std;int T,n,m,tot; LL s_mu[N],s_f[N];int ...原创 2018-12-16 12:40:19 · 128 阅读 · 0 评论 -
莫比乌斯反演 [转载]
传送门虽然我不会 , 还是留个坑原创 2018-12-10 23:27:30 · 113 阅读 · 0 评论 -
[POI2007]ZAP-Queries [莫比乌斯反演]
传送门对于本题 (一下来源于luogu题解) 然后求一个mu的前缀和 , 整除分块搞一下#include<bits/stdc++.h>#define N 50051#define LL long longusing namespace std;int mu[N],prim[N],isp[N],s[N],T,tot;void Init(){ mu[...原创 2018-12-11 21:10:36 · 129 阅读 · 0 评论 -
YY的GCD [hard] [莫比乌斯反演]
传送门题解传送门 #include<bits/stdc++.h>#define N 10000005#define LL long longusing namespace std;int p[N],isp[N],mu[N],f[N],T,tot; LL s[N];void Init(){ mu[1]=1; for(int i=2;i<...原创 2018-12-11 22:00:17 · 202 阅读 · 0 评论 -
P3312 [SDOI2014] 数表
传送门先来一波常规操作 然后再来一波经常使用的"换一个枚举"令 发现我们需要处理 g[d] 的前缀和, 又要保证当前的F[k]<=a所以我们将询问按a排序, 然后动态将F[k]<=a 的插入树状数组考虑一个F[x]对哪些有贡献F[x] 对 g[x] 有 F[x] * mu[1]的贡献F[x] 对 g[x*2] 有 F[x] * mu[2...原创 2019-02-16 14:42:28 · 277 阅读 · 0 评论 -
Crash的数字表格 [莫比乌斯反演][神题]
传送门发现有点棘手, 不妨把k放出来是时候反演了令有则可以整除分块做, 只不过要预处理mu[k]*k^2这里又可以整除分块...#include<bits/stdc++.h>#define N 10000050#define LL long long#define Mod 20101009using namesp...原创 2019-02-16 23:07:20 · 226 阅读 · 0 评论 -
BZOJ 2694 Lcm [莫比乌斯反演]
传送门 然后将mu不为0的(没有平方因子)的h按调和级数枚举倍数算贡献就可以了#include<bits/stdc++.h>#define N 4000050#define LL long long#define P (1<<30)using namespace std;int T;int prim[N],isp[N],tot,mu[N];L...原创 2019-02-17 13:10:47 · 279 阅读 · 0 评论 -
P3768 简单的数学题 [莫比乌斯反演+杜教筛]
传送门 用杜教筛筛就可以了(g 设为Id^2) #include<bits/stdc++.h>#define N 10000050#define LL long longusing namespace std;LL P,n;int prim[N],isp[N],tot; LL phi[N];map<LL,LL> Phi;LL in...原创 2019-02-17 17:06:58 · 309 阅读 · 0 评论 -
[SDOI2017]数字表格 [莫比乌斯反演]
传送门反演模板吧...到最后一步就是然后预处理f(k) * mu(T/k)的前缀和与inv, 整除分块就可以了#include<bits/stdc++.h>#define N 1000050#define Mod 1000000007#define LL long longusing namespace std;int T;int prim[N], i...原创 2019-02-17 20:23:22 · 187 阅读 · 0 评论 -
P5176 公约数 [莫比乌斯反演][线性筛积性函数]
传送门来自zxy学长, 强烈推荐哦 关于最后一个的证明:首先p为n的最小质因子, 那么np一定含有p因子的平方项, 如果保留的话对mu是没有贡献的也就是说对f(n)有贡献的d, 只有d*p对 f(n*p)有贡献关于线性筛函数, 考虑等于1为质数 -> 代入两个端点不包含最小质因子 -> 积性函数的性质包含最小...原创 2019-02-17 21:07:34 · 253 阅读 · 0 评论 -
P4240 毒瘤之神的考验[莫比乌斯反演][神题]
传送门我们知道然后常规反演一波可以得到 然后设可以调和级数预处理然后设因为y的<=n/x, 所以空间和时间都是nlogn的 发现有一些连续的T使x,y是相等的, 可以整除分块而当T>sqrt(n) 时, x,y的取值是连续的, 我们可以预处理这一部分的答案, 然后整除分块而当T<sqrt(n) 时, 总共循环T次就...原创 2019-02-23 11:49:41 · 198 阅读 · 0 评论 -
P3172 [CQOI2015]选数 [莫比乌斯反演+杜教筛]
传送门然后就是整除分块+杜教筛#include<bits/stdc++.h>#define N 5000050#define Mod 1000000007#define LL long longusing namespace std;int n,k,L,R;int prim[N], isp[N], tot, mu[N];map<int,int&...原创 2019-02-18 19:29:03 · 161 阅读 · 0 评论 -
[HAOI2011]Problem b [莫比乌斯反演]
传送门很明显类似矩阵前缀和一样查4次 , 然后就是莫比乌斯反演模板了#include<bits/stdc++.h>#define N 50050#define LL long longusing namespace std;int mu[N],p[N],tot,isp[N],s[N],a,b,c,d,k;LL Q(int n,int m,int k){ if(n&...原创 2018-12-12 20:39:32 · 124 阅读 · 0 评论