分析:对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。 然后对于求这样单个的gcd(x,y)=k的,我们通常采用莫比乌斯反演 但是,时间复杂度是O(n*(n/k))的,当复杂度很坏的时候,当k=1时, ...
分类:
其他好文 时间:
2016-04-27 22:45:52
阅读次数:
334
本博客主要讲述了BZOJ2301的解法并分享了代码
分类:
其他好文 时间:
2016-02-03 20:02:56
阅读次数:
175
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2301莫比乌斯函数,记录前缀和分块,然后容斥。#include#include#include#include#define rep(i,l,r) for (int i=l;i=r;i--)#de...
分类:
其他好文 时间:
2015-12-01 21:17:52
阅读次数:
250
#include #include #include #include #include #include using namespace std;typedef long long LL;inline int read(){ int x = 0,f = 1; char ch = getcha...
分类:
其他好文 时间:
2015-09-27 16:09:03
阅读次数:
142
对于给定的整数a,b和d,有多少正整数对x,y,满足x=1) x+ay=e+tab x-e=a(tb-y) ∵a>0,b>y ∴a(tb-y)>0 而x是n/a的余数,e是n/ab的余数,显然e>=x,x-e<=0,矛盾 所以[a/(i*n)] = [[a/i]/n] 然后直接枚举每一个...
分类:
其他好文 时间:
2015-05-06 14:33:56
阅读次数:
115
2301: [HAOI2011]Problem b
Time Limit: 50 Sec Memory Limit: 256 MB
Submit: 1756 Solved: 755
[Submit][Status][Discuss]
Description对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y...
分类:
其他好文 时间:
2015-05-05 21:53:20
阅读次数:
206
传送门: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,根据莫比乌斯反演很容易...
分类:
其他好文 时间:
2015-02-20 18:33:57
阅读次数:
246
题目大意:多次询问有多少个数对(x,y)满足a
首先利用容斥原理将询问分解 问题转化为求有多少个数对(x,y)满足x
这里就可以利用到莫比乌斯反演:
我们令F(d)为GCD(x,y)=d且x
f(d)为d|GCD(x,y)且x
那么显然有F(d)=(n/d)*(m/d)
但是直接套用公式还是O(n^2)级别的
考虑到(n/d)*(m/d)最多只会有2√n个商 因此我们可以枚举...
分类:
其他好文 时间:
2014-12-16 11:44:43
阅读次数:
167
这两天刷了几个关于gcd的很类似的问题,总结一下:BZOJ2818 1<=x<=n,1<=y<=n,求满足gcd(x,y)=质数的个数BZOJ2190 1<=x<=n,1<=y<=n,求满足gcd(x,y)=1(x、y互质)的个数BZOJ2301 a<=x<=b,c<=x<=d,求...
分类:
其他好文 时间:
2014-11-17 17:36:31
阅读次数:
152