Problem 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 1≤n≤50000,1≤a≤b≤50000,1≤c≤d≤50000,1≤k≤50000 Sub problem 设Ans(i,j)表示有多少个数对(x,y),满足x≤i,c≤y≤j,且gcd(x,y) = k. 我们可以先求出Ans(b,d),Ans(b,c−1),Ans(a−1,d),Ans(a−1,c−1), 然后ans=Ans…
首先我们来看一道题  BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数n,接下来n行每行五个整数,分别表示a.b.c.d.k Output 共n行,每行一个整数表示满足要求的数对(x,y)的个数 Sample Input 2 2 5 1 5 1 1 5 1 5 2 Sample Output 14 3 HI…
莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d是n的所有因子 μ(x)是莫比乌斯函数,它是这样计算的 μ(1) = 1 x = p1 * p2 * p3 ……*pk(x由k个不同的质数组成)则μ(x) = (-1)^k 其他情况,μ (x) = 0 比如 30 = 2 * 3 * 5 μ(30) = (-1)^3 4 = 2 * 2 μ(4)…
前言 咕咕了好久终于来学习莫反了 要不是不让在机房谁会发现数学一本通上有这么神奇的东西 就是没有性质的证明 然后花了两节数学课证明了一遍 舒服- 前置知识:欧拉函数,二项式定理(组合数) 会欧拉函数的可以直接看\(Mobius\)了 欧拉函数 含义 \(\phi (n)\) 表示比\(n\)小的数中与\(n\)互质的数的个数 引理1 \(n\)为质数,\(\phi(n) = n - 1\) \(n=a*b\) 且 \((a, b) = 1\),则\(\phi(n) = \phi(a) * \ph…
这个题是根据某个二维平面的题改编过来的. 首先把问题转化一下, 就是你站在原点(0, 0, 0)能看到多少格点. 答案分为三个部分: 八个象限里的格点,即 gcd(x, y, z) = 1,且xyz均不为0. 可以先假设xyz都是整数,然后将所求的答案乘8 12个四分之一平面中的点,可以先算(x, y, 0)(x > 0, y > 0)这样的点的个数,然后乘12 坐标轴上距原点距离为1的6个点 三维对应的莫比乌斯公式就是: 在这道题里面就是 X = Y = Z = N / 2 这道题用容斥原理…
题意: 从区间[1, b]和[1, d]中分别选一个x, y,使得gcd(x, y) = k, 求满足条件的xy的对数(不区分xy的顺序) 分析: 虽然之前写过一个莫比乌斯反演的总结,可遇到这道题还是不知道怎么应用. 这里有关于莫比乌斯反演的知识,而且最后的例题中就有这道题并给出了公式的推导. 在最后的例题2中有个重要的结论: #include <cstdio> #include <algorithm> typedef long long LL; ; ], vis[maxn + ]…
题意: 这道题和POJ 3090很相似,求|x|≤a,|y|≤b 中站在原点可见的整点的个数K,所有的整点个数为N(除去原点),求K/N 分析: 坐标轴上有四个可见的点,因为每个象限可见的点数都是一样的,所以我们只要求出第一象限可见的点数然后×4+4,即是K. 可见的点满足gcd(x, y) = 1,于是将问题转化为x∈[1, a], y∈[1, b],求gcd(x, y) = 1的个数. 类比HDU 1695可以用莫比乌斯反演来做,我还写了普通的和分块加速的两份代码,交上去发现运行时间相差并不…
GCD 题意:输入5个数a,b,c,d,k;(a = c = 1, 0 < b,d,k <= 100000);问有多少对a <= p <= b, c <= q <= d使得gcd(p,q) = k; 注:对于(p,q)和(q,p)只算一次: 思路:由于遍历朴素求两个数的gcd的时间复杂度为O(n^2*log(n)),朴素算法遍历搜索在判断累加,所以效率很低: 资料   NanoApe's Blog   ACdreamers 莫比乌斯反演:利用整与分之间的可逆来由整体利用…
传送门:GCD Extreme (II) 题意:给定n(n<=4000000),求G G=0 for(int i=1;i<n;i++) for(int j=i+1;j<=n;j++) G+=gcd(i,j).   分析:这题本来应该欧拉函数预处理来解决,不过尝试一下莫比乌斯反演,没想到也AC了,复杂度O(nlog(n)),应该是题目100case中大数据不多,不然会超时吧. 设F(n)表示gcd(x,y)==n的倍数所有gcd之和,f(n)表示gcd(x,y)==n的所有gcd之和,那么…
传送门:Primes in GCD Table 题意:给定两个数和,其中,,求为质数的有多少对?其中和的范围是. 分析:这题不能枚举质数来进行莫比乌斯反演,得预处理出∑υ(n/p)(n%p==0). #pragma comment(linker,"/STACK:1024000000,1024000000") #include <cstdio> #include <cstring> #include <string> #include <cmat…
传送门:Number theory 题意:给n个数,n 和 每个数的范围都是 1---222222,求n个数中互质的对数. 分析:处理出每个数倍数的个数cnt[i],然后进行莫比乌斯反演,只不过这里的F(i)=cnt[i]*(cnt[i]-1)/2. #pragma comment(linker,"/STACK:1024000000,1024000000") #include <cstdio> #include <cstring> #include <st…
传送门:GCD SUM 题意:给出N,M执行如下程序:long long  ans = 0,ansx = 0,ansy = 0;for(int i = 1; i <= N; i ++)   for(int j = 1; j <= M; j ++)       if(gcd(i,j) == 1) ans ++,ansx += i,ansy += j;cout << ans << " " << ansx << " &qu…
传送门:2301: [HAOI2011]Problem b 题意:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. 分析:gcd(x,y)==k等价于gcd(x/k,y/k)==1,根据莫比乌斯反演很容易求出[1,n][1,m]的gcd(x,y)==1的对数,但询问有50000个,直接去计算肯定会TLE,这里得分块处理加速计算,因为对于(n/i)和(m/i)在一定区间内的值是一定的,根据这点可以每…
这里学习一下莫比乌斯反演 翻看了很多书,发现莫比乌斯反演,准确来说不是一种固有的公式,而是一种法则. 我们定义F(n),为f(d)的和函数,而定义f(n)为某儿算术函数. 反演公式1:反演n的因子时 废话不用多说,直接引入题目: HDU-1695-GCD 给出a,b,c,d,k, 问[a,b]和[c,d]区间内部有多少不同的gcd(x,y)=k的对数目. 那么我们可以把GCD(x,y)进行分解. 由于某两个数的GCD是k,那么把这两个数除以K,那么这两个数的值,一定互质.那么我们可以这样.把区间…
BUPT2017 wintertraining(15) #5H HDU- 4947 题意 有一个长度为l的数组,现在有m个操作,第1种为1 n d v,给下标x 满足gcd(x,n)=d的\(a_x\)增加v.第2种为2 x,查询\(\sum_{i=1}^x a_i\). 数据范围:\(1\le n,d,v\le2\cdot 10^5,1\le x\le l\) 题解 设\(f_i\)满足\(a_i=\sum_{d|i} f_d\),用树状数组存储\(f_i\)的前缀和. \[a_x+=v\cd…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ62.html 题解 太久没更博客了,该拯救我的博客了. $$\sum_{1\leq j \leq n} \gcd(i,j) ^{c-d} i^dj^dx_j = b_i\\A_i = i^d x_i, B_i = \frac{b_i}{i^d}, f(x) = x^{c-d}\\f(x) = \sum_{d|x} g(d) \\\begin{eqnarray*}\sum_{1\leq j \leq n}…
这道题,先说一下单色三角形吧,推荐一篇noip的论文<国家集训队2003论文集许智磊> 链接:https://wenku.baidu.com/view/e87725c52cc58bd63186bd1b.html?from=search 单色三角形指的是n个顶点,有n(n-1)条边,很明显是每个点两两相连,那么这样所形成的所有三角形的边假如有两种颜色:红和黑.那么问一共有多少三角形的三边是一种颜色的个数. ,建议看一下那个论文,因为我只能直接给出你结论.  下面的数学符号:{...}为概率论中表…
传送门 发现自己对mobius反演的理解比较浅显-- 首先我们只需要维护每一个数的出现次数\(\mod 2\)的值,那么实际上我们只需要使用\(bitset\)进行维护,每一次加入一个数将其对应次数异或\(1\).那么\(2\)操作就相当于将集合\(x\)对应的\(bitset\)赋值为\(y\)与\(z\)的异或和. 看到\(3\)操作中的gcd,考虑莫比乌斯反演.我们在加入一个数到集合中的时候,不是加入它本身,而是加入它的所有因子.这样我们的\(3\)操作的实质就是一个按位与操作了. 对于\…
两个多月之前写的题,今天因为看到一道非常相似的题就翻出来了,发现完全不会,没救. 感觉这个题其实第一步是最难想到的,也是最重要的. 设d=gcd(a,b).那么a=yd,b=xd,且gcd(x,y)=1.a+b|ab等价于x+y|xyd. 由gcd(x,y)=1,得gcd(x+y,y)=gcd(x,x+y)=1.x和y都与x+y互质,那么他们的积xy也与x+y互质,即gcd(xy,x+y)=1. gcd(xy,x+y)=1,而x+y|xyd,所以x+y|d. 那么现在要求的是 下取整的那部分是满…
[BZOJ4815][CQOI2017]小Q的表格(莫比乌斯反演,分块) 题面 BZOJ 洛谷 题解 神仙题啊. 首先\(f(a,b)=f(b,a)\)告诉我们矩阵只要算一半就好了. 接下来是\(b*f(a,a+b)=(a+b)*f(a,b)\) 这个式子怎么看呢? \[\begin{aligned}b*f(a,a+b)&=(a+b)*f(a,b)\\\frac{f(a,a+b)}{a+b}&=\frac{f(a,b)}{b}\\\frac{f(a,a+b)}{a*(a+b)}&=…
[BZOJ2671]Calc 题面 BZOJ 给出N,统计满足下面条件的数对(a,b)的个数: 1.\(1\le a\lt b\le N\) 2.\(a+b\)整除\(a*b\) 我竟然粘了题面!!! 题解 还是今天菊开讲的. 设出\(d=gcd(a,b)\) 那么,设\(a=xd,b=yd,gcd(x,y)=1\) \((x+y)d|xyd^2,x+y|xyd\) 根据辗转相减的原理 可以得到\(gcd(x+y,x)=gcd(x+y,y)=gcd(x,y)=1\),所以\(x+y|d\). 设…
那啥bzoj2818也是一样的,突然想起来好像拿来当周赛的练习题过,用欧拉函数写掉的. 求$(i,j)=prime$对数 \begin{eqnarray*}\sum_{i=1}^{n}\sum_{j=1}^{m}[(i,j)=p]&=&\sum_{p=2}^{min(n,m)}\sum_{i=1}^{\lfloor\frac{n}{p}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{p}\rfloor}[i⊥j]\newline&=&\sum_{p=…
GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9942    Accepted Submission(s): 3732 Problem Description Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y)…
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sample Output 4 Hint 对于样例(2,2),(2,4),(3,3),(4,2) 1<=N<=10^7 这个题目可以用欧拉函数或者莫比乌斯反演. 第一种欧拉函数: 因为gcd(x, y) = p,所以gcd(x/p, y/p) = 1. 不妨设y较大,那么就是求所有比y/p小的数k,ph…
点此看题面 大致题意: 求\(\sum_{x=1}^N\sum_{y=1}^MIsPrime(gcd(x,y))\). 莫比乌斯反演 听说此题是莫比乌斯反演入门题? 一些定义 首先,我们可以定义\(f(d)\)和\(F(d)\)如下: \[f(d)=\sum_{i=1}^N\sum_{j=1}^M[gcd(i,j)==d]\] \[F(d)=\sum_{i=1}^N\sum_{j=1}^M[d|gcd(i,j)]\] 通过定义,不难发现: \[F(n)=\sum_{n|d}f(d)=\lfloo…
点此看题面 大致题意: 求\(\sum_{x=1}^N\sum_{y=1}^M[gcd(x,y)==d]\). 一道类似的题目 推荐先去做一下这道题:[洛谷2257]YY的GCD,来初步了解一下莫比乌斯反演. 再来看这题,就非常简单了. 一些定义 按照上面提到的那题的思路,首先,我们可以定义\(f(d)\)和\(F(d)\)如下: \[f(d)=\sum_{i=1}^N\sum_{j=1}^M[gcd(i,j)==d]\] \[F(d)=\sum_{i=1}^N\sum_{j=1}^M[d|gc…
点此看题面 大致题意: 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^N\sum_{j=1}^Md(i·j)\). 莫比乌斯反演 这是一道莫比乌斯反演题. 一个重要的性质 首先我们要先了解\(d(i·j)\)这个函数的性质: \[d(i,j)=\sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\] 证明: 我也不知道,应该就是枚举\(i\)和\(j\)的约数,求出其中不互质的约数对个数,避免重复计算. 一些定义 按照莫比乌斯反演的常见套路,我们可以定义\(…
点此看题面 大致题意: 求\(\sum_{x=a}^b\sum_{y=c}^d[gcd(x,y)==k]\). 关于另一道题目 在看这篇博客之前,如果你做过一道叫做[BZOJ1101][POI2007] Zap的题目,那么此题就很简单了. 如果没做过,还是推荐你先去做一下吧. 解题思路 做完了上面提到的那题,或许对这题你就有一个很显然的想法了. 即差分. 其实,上面那题就是此题\(a=c=1\)的特殊版本. 因此,如果令\(ans_{i,j}=\sum_{x=1}^i\sum_{y=1}^j[g…
Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others) Total Submission(s): 980    Accepted Submission(s): 376 Problem Description As we know, any positive integer C ( C >= 2 ) can be written as the multiply of…
题目链接 https://www.lydsy.com/JudgeOnline/problem.php?id=3309 题意:定义f(n)为n所含质因子的最大幂指数,求 $Ans=\sum _{i=1}^{a}\sum_{j=i}^{b}f(gcd(i,j))$ T<=10000 1<=a,b<=10^7 解析:考虑a<b 枚举最大公约数d,得到: $$Ans=\sum_{d=1}^a f(d)\sum_{i=1}^{\lfloor\frac{a}{d}\rfloor}\sum_{j…