1101: [POI2007]Zap Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2951  Solved: 1293[Submit][Status][Discuss] Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 莫比乌斯反演 1101: [POI2007]Zap 设 \(f(i)\) 表示 \((x,y)\) \(x\in [1,a],y\in [1,b]\) 满足 \(gcd(x,y)=i\) 的对数 那么答案就是 \(f(d)\) 构造一个函数 \(g(i)\) 表示 \((x,y)\) \(x\in [1,a],y\in [1,b]\) 满足 \(gcd(x,y)|i\) 的对数 于是…
1101: [POI2007]Zap Time Limit: 10 Sec Memory Limit: 162 MB Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个 正整数,分别为a,b,d.…
Zap Time Limit: 10 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description 对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. Input 第一行包含一个正整数n,表示一共有n组询问.接下来n行,每行表示一个询问,每行三个正整数,分别为a,b,d. Output 输出一个正整数,表示满足条件的整数对数. Sample Input 2 4 5 2 6 4 3 S…
求 answer = ∑ [gcd(x, y) = d] (1 <= x <= a, 1 <= y <= b) . 令a' = a / d, b' = b / d, 化简一下得到: answer = Σ μ(t)*⌊a'/t⌋*⌊b'/t⌋ ⌊a'/t⌋相等的是一段连续的区间, ⌊b'/t⌋同理, 而且数量是根号级别的 所以搞出μ的前缀和然后分块处理. ----------------------------------------------------------------…
BZOJ1101 POI2007 Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个正整数,分别为a,b,d.(1<=d<=a,b<=50000) Output 对于每组询…
[题解]Zap(莫比乌斯反演) 裸题... 直接化吧 [P3455 POI2007]ZAP-Queries 所有除法默认向下取整 \[ \Sigma_{i=1}^x\Sigma_{j=1}^y[(i,j)=k] \\ =\Sigma_{i=1}^{x/k}\Sigma_{j=1}^{y/k}[(i,j)=1] \\ =\Sigma_{i=1}^{x/k}\Sigma_{j=1}^{y/k}\Sigma_{d|(i,j)}\mu(d) \\ =\Sigma_{d=1}^{min(x,y)}\Sig…
[BZOJ1101][POI2007]Zap 试题描述 FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. 输入 第一行包含一个正整数n,表示一共有n组询问.(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个正整数,分别为a,b,d.(1<=d<=a,b<=50000) 输出 对于每组询问,输出到输出文件zap…
Description 回答T组询问,有多少组gcd(x,y)=d,x<=a, y<=b.T, a, b<=4e5. Solution 显然对于gcd=d的,应该把a/d b/d,然后转为gcd=1计算 计算用莫比乌斯反演相信大家都会 关键是有T组询问n^2会T 于是有这样一个优化可以做到每次sqrt(n) 每一次是ret+=mu[i]*(n/i)*(m/i) 可是除法向下取整所以会导致很多i的(n/i)*(m/i)一样 具体来说,向下取整得到的结果一定是约数所以对于(n/i)最多2sq…
题目 P3455 [POI2007]ZAP-Queries 解析 莫比乌斯反演. 给定\(n\),\(m\),\(d\),求\[\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=d]\] 那我们设\[f(x)=\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=x]\] 设 \[\begin{aligned} F(x)=& \sum_{x\mid i}f(k) \\Q =&\sum_{x\mid k}\sum_{i=1}^{n}\sum_{…
[POI2007] ZAP-Queries 题目描述 Byteasar the Cryptographer works on breaking the code of BSA (Byteotian Security Agency). He has alreadyfound out that whilst deciphering a message he will have to answer multiple queries of the form"for givenintegers aa, b…
题面 传送门:洛咕 Solution 这题比这题不懂简单到哪里去了 好吧,我们来颓柿子. 为了防止重名,以下所有柿子中的\(x\)既是题目中的\(d\) 为了方便讨论,以下柿子均假设\(b>=a\) 为了方便书写,以下除号均为向下取整 题目要求的显然是: \(\large \sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)=x]\) 根据套路,我们这里要先把这个\(x\)除掉 \(\large \sum_{i=1}^{a/x}\sum_{j=1}^{b/x}[gcd(i,…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1101 直接莫比乌斯反演. 代码如下: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; ; int pri[xn],cnt,mu[xn]; bool vis[xn]; int rd() { ,f=; char ch=ge…
手动博客搬家: 本文发表于20171216 13:34:20, 原地址https://blog.csdn.net/suncongbo/article/details/78819470 URL: (Luogu)https://www.luogu.org/problem/show?pid=3455 (BZOJ)http://www.lydsy.com/JudgeOnline/problem.php?id=1101 题目大意: 有t次询问(\(t\le5e4\)), 每次给定a,b,d, 询问有多少对…
Zap FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<= 50000)接下来n行,每行表示一个询问,每行三个 正整数,分别为a,b,d.(1<=d<=a,b<=50000) Output 对于每组询问,输出到输出文件zap.out一个正整数,表示满足条件…
http://www.lydsy.com/JudgeOnline/problem.php?id=1101 给定a,b,d,求有多少gcd(x,y)==d(1<=x<=a&&1<=y<=b) 思路: Σgcd(x,y)==d  (1<=x<=a,1<=y<=b) = Σgcd(x,y)==1 (1<=x<=a/d,1<=y<=b/d) 令G(i)=num(i|gcd(x,y))=n/i*m/i g(i)=num(i=gc…
题意:FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. n组询问,(1<=n<= 50000)(1<=d<=a,b<=50000) 分析: 通过处理μ的前缀和把每段$a/i$的值相等的部分一起算.$n/(n/i)$找到值相等的一段的段末位置. 我当时为什么要用图片上传啊..算了留着吧. 代码: #include <s…
先看一道例题:[POI2007]Zap BZOJ 洛谷 题目大意:$T$ 组数据,求 $\sum^n_{i=1}\sum^m_{j=1}[gcd(i,j)=k]$ $1\leq T\leq 50000,1\leq k\leq n,m\leq 50000$ 暴力做法 $O(Tnm\log\max(n,m))$ 不用说了,那有没有什么更好的做法呢? 我们定义一种函数叫莫比乌斯函数 $\mu$,它的定义是: 当 $n=1$ 时,$\mu(n)=1$ 当 $n$ 可以分解成 $p_1p_2...p_k$…
对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 我们可以令F[n]=使得n|(x,y)的数对(x,y)个数 这个很容易得到,只需要让x,y中都有n这个因子就好了,也就是[a/n]*[b/n]个数对(向下取整) 然后设题中所要求的为f[n],很容易得知,F[n]=∑f[d](n|d) 莫比乌斯反演可以得到f[n]=∑μ(d/n)F[d](n|d) 这样是O(n),然而数据范围5*10^4显然不能通过 f[n]=∑μ(d/n)[a/d][b/d]…
点此看题面 大致题意: 求\(\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…
题目 传送门:QWQ 分析 莫比乌斯反演. 还不是很熟练qwq 代码 //bzoj1101 //给出a,b,d,询问有多少对二元组(x,y)满足gcd(x,y)=d.x<=a,y<=b #include <bits/stdc++.h> using namespace std; ; int n, p[maxn]; int mu(int m) { , k=m; ;i*i<=k;i++) { if(!(m%i)) { tmp++; m/=i; ; } } ) tmp++; )?-:…
[Luogu3455][POI2007]ZAP-Queries(莫比乌斯反演) 题面 题目描述 FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. 输入输出格式 输入格式: The first line of the standard input contains one integer nn (1\le n\le 50 0001≤n≤50 000),de…
https://www.luogu.org/problemnew/show/3455#sub http://www.lydsy.com/JudgeOnline/problem.php?id=1101 Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<…
题目类型:莫比乌斯反演 传送门:>Here< 题意:求有多少对正整数对\((a,b)\),满足\(0<a<A\),\(0<b<B\),\(gcd(a,b)=d\) 解题思路 学了莫比乌斯反演,就以这道题来介绍一下莫比乌斯反演的题的应用(下文中,对数表示在规定范围内满足特定条件的数对数量,不是\(log\)的那个对数) 一般碰到有关\(gcd\)的题,一般地,设\(f(n)\)表示\(gcd=n\)的对数,\(F(n)\)表示\(n|gcd\)的对数 根据定义,满足\[F…
正解:莫比乌斯反演 解题报告: 传送门! 首先这题刚看到就很,莫比乌斯反演嘛,和我前面写了题解的那个一模一样的,所以这儿就不讲这前边的做法辣QAQ 但是这样儿还有个问题,就现在已知我每次都是要O(n)地做的,然后他还有Q个问题,这样复杂度显然就假了,就要想办法优化QAQ 这时候考虑到我们已经搞出来要求的式子长这样儿:∑μ(i)*⌊m/i,n/i⌋,这就很,整除分块昂! 所以预处理μ的时候顺便搞下前缀和,整除分块就能过去辣! #include<bits/stdc++.h> using names…
题目描述 FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. 分析 很明显的一道莫比乌斯反演,但是还没有写过学习笔记,之后一定补起来(flag). \[f(k)=\sum^a_{i=1}\sum^b_{j=1}[gcd(i,j)=k]\] \[F(k) = \sum_{n|k}f(k)= \lfloor \frac{a}{n} \rfloor \lfloo…
题目: http://www.lydsy.com/JudgeOnline/problem.php?id=1101 题解: http://www.cnblogs.com/mrha/p/8203612.html 数学公式太难打了,核心思想是化成gcd(i,j)==1,然后用莫比乌斯反演变成枚举约数d,然后再搞式子 #include<cstdio> #include<algorithm> #define N 50005 typedef long long ll; using namesp…
link ms是莫比乌斯反演里最水的题... 题意:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a,y<=b,并且gcd(x,y)=d. 多组询问, T<=50000,d,a,b<=50000 稍微推下shizi \(\sum_{i=1}^a\sum_{j=1}^b[\gcd(i,j)=d]\) \(=\sum_{i=1}^{a/k}\sum_{j=1}^{b/k}[\gcd(i,j)=1]\) \(=\sum_{i=1}^{a/k}\sum_{j=1}^{b/k}\…
题意:求$\sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)==d]$(1<=a,b,d<=50000). 很套路的莫比乌斯反演. $\sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)==k]=\sum_{i=1}^{\lfloor \frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor \frac{m}{k}\rfloor}[gcd(i,j)==1]$ 令f(n)为gcd是n的个数,g(n)为gcd是n或n的倍数的个数.…
作为神秘奖励--?也是为了方便背. 所有的除法都是向下取整. 数论函数: \((f*g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})\) \((Id*\mu)(n)=\sum_{d|n}\mu(d)\frac{n}{d}=\phi(n)\) 筛法求积性函数: int su[N],he[N],miu[N],phi[N],c[N],d[N],tot; void Euler(int n){ miu[1]=d[1]=c[1]=phi[1]=1; for(int i=2;i<=n;i+…