杜教筛
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
【省选模拟】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 · 203 阅读 · 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 · 243 阅读 · 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 · 273 阅读 · 0 评论 -
[51nod1238] 最小公倍数之和V3 [杜教筛]
传送门先从一道简单题入手 (LCM sum)求 令k=i/dgcd里面同除d我们发现枚举到n/d 与 d是等价的这道题就可以转化为杜教筛筛第一坨, 然后整除分块#include<bits/stdc++.h>#define N 1000050#define LL long long#define Mod 1000...原创 2019-02-20 20:08:09 · 249 阅读 · 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 · 265 阅读 · 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 · 184 阅读 · 0 评论 -
51nod2026 Gcd and Lcm [杜教筛]
传送门记住这个性质那么原式就是 考虑求 然后整除分块一波, 求的前缀和就可以了, 杜教筛解决#include<bits/stdc++.h>#define N 5000050#define LL long long#define Mod 1000000007using namespace std;int prim[N], tot, is...原创 2019-02-17 22:08:17 · 286 阅读 · 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 · 347 阅读 · 0 评论 -
杜教筛 [理解+模板]
传送门杜教筛解决这类问题: 求 其中 我们寻找一个函数 g, 看能不能求出 看看我们要什么 (g为积性函数 -> g(1) = 1) 于是要求的变成我们选出g 使第一个很好求, 然后第二个可以整除分块递归下去本题的解决方案 当 f 为 mu 时, 考虑令g = I, 那么 当 f 为 phi ...原创 2019-02-17 13:28:08 · 360 阅读 · 0 评论