传送门显然枚举 ai,aja_i,a_jai,aj 很不好看,我们改成枚举数值,直接莫比乌斯反演Ans=∑dn
传送门很容易推出令 然后考虑预处理g(T) 的前缀和,
传送门反演模板吧...到最后一步就是然后预
传送门来自zxy学长, 强烈推荐哦 关于最后一个的
传送门来自巨神zxyoi学
传送门反演一波枚举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 namespace std;int prim[
传送门发现有点棘手, 不妨把k放出来是时候反演了令有则可以整除分块做, 只不过要预处理mu[k]*k^2这里又可以整除分块...#include<bits/stdc++.h>#define N 10000050#define LL long long#define Mod 20101009using namespace std;int prim[N],isp[N],mu[N],
传送门 然后将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];LL val[N
传送门设 d = gcd(a, b), a = ud, b = vd因为 gcd(u, v) = 1, 所以 gcd(u+v, v) = gcd(u+v, u) = 1然后卡一00050using namespace st...
比较容易想到,先将 > n 转换成 <= n然后就可以直接暴力枚举 l,然后快速计算 (d, i, j) 的对数不妨
传送门考虑答案为 gcd 的倍数的情况就要好做很多设 cnt 为 d 的倍数的个数考虑容斥,发现#include<bits/stdc++.h>#d(ll a, ll b){ ...
题意: 给 个数 ,求 ,,对 取模首先我们知道斐波那契数列的一些性质第 2 个可以用归纳法证明,不是很难我们考虑把求 变成 , 容斥 令 表示质因子次数, 为 的集合发现不是很好搞,考虑反演,令 那么有 不妨另为 倍数且在 的集合为 ,那么倒过来调和级数求即可#include<bits/stdc++.h>#define cs constusing namespace
传送门 虽然我不会 , 还是留个坑
传送门考虑枚举各维最大最小坐标的差量 Δi\Delta_iΔi,可以写出式子:Ans=∑Δ(gcd(Δ1...n)−1c−2)∏i=1n(mi−Δi)=∑d(d−1c−2)∑Δ∏i=1n(mi−dΔi)
传送门用整除分块预处理 发现对于连续的d , n/d的取值一样 , 也就是说 的取值一样 , 然后就可以整除分块做了#includ
传送门题解传送门 #include<bits/stdc++.h>#define N 10000005#define LL long longusing namespace st
传送门如果求出 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^
传送门旧试题 ---- 约数个数和 ?利用那道题的推论,发现d(ijk)=∑p∣i∑q∣j∑r∣k[(p,q)=1][(q,r)=1][(p,r)=1]d(ijk)=\sum_{p|不再赘...
传送门考虑什么样的 xy\frac{x}{y}yx 可以成为纯循环小数设其循环节为 LLL,那么有xy∗kL−xy\frac{x}{y}*k^L
传送门我们知道然后常规反演一波可以得到 然后设可以调和级数预处理然后设因为y的<=n/x, 所以空间和时间都是nlogn的
传送门然后就是整除分块+杜教筛#include<bits/stdc++.h>#define N 5000050#define Mod 1000000007#define LL lon
传送门先来一波常规操作 然后再来一波经常使用的"换一个枚举"令 发现我们需要处理 g[d] 的前缀和, 又要保
传送门 对于本题 (一下来源于luogu题解) 然后求一个mu的前缀和 , 整除分块搞一下 #include<bits/stdc++.h> #define N 50051 #define LL long long using namespace std; int mu[N],prim[N],isp[N],s[N],T,tot; void Init(){ mu[...
传送门很明显类似矩阵前缀和一样查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&...
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号