SPOJ PGCD (mobius反演 + 分块)】的更多相关文章

转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :求满足gcd(i , j)是素数(1 <= i <= n && 1 <= j <= m)二元组(i , j)个数. 很值得总结的题... 首先得会一点前提东西 ...先简单说下Mobius反演,就是偏序集上的容斥原理. 定义 F(n) = sigma (G(d))   d | n 那么G(n) = sigma…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd(x,y)为质数有多少对. 首先,    由于这里是多次询问,并且数据很大,显然不能直接求解,需要做如下处理.. 整数的除法是满足结合律的,然后我们设T=p*d,有: 注意到后面部分是可以预处理出来的,那么整个ans就可以用分块处理来求了,设 那么有,考虑当p|x时,根据莫比菲斯mu(x)的性质,px除以其它非…
传送门:Primes in GCD Table 题意:给定两个数和,其中,,求为质数的有多少对?其中和的范围是. 分析:这题不能枚举质数来进行莫比乌斯反演,得预处理出∑υ(n/p)(n%p==0). #pragma comment(linker,"/STACK:1024000000,1024000000") #include <cstdio> #include <cstring> #include <string> #include <cmat…
那啥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=…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2301 题意:多次询问,求有多少对数满足 gcd(x,y)=k, a<=x<=b, c<=y<=d. 对于有下界的区间,容易想到用容斥原理做.然后如果直接用Mobius反演定理做,那么每次询问的复杂度是O(n/k),如果k=1的话,那么总体就是O(n^2)的复杂度了,会TLE.这样用到了分快优化,注意到 n/i ,在连续的k区间内存在,n/i=n/(i+k),因此能用分块优化…
欧拉函数 \(\varphi\) \(\varphi(n)=\)表示不超过 \(n\) 且与 \(n\) 互质的正整数的个数 \[\varphi(n)=n\cdot \prod_{i=1}^{s}(1-\frac{1}{p_i})\] 其中 \(n = {p_1}^{\alpha1} \cdot {p_2}^{\alpha2} \cdots {p_s}^{\alpha s} \cdot\) 是 \(n\) 的标准分解. 由此易见 \(\text{Euler}\) 函数是积性函数. 线性求 \(\…
mobius反演的基本形式为,假设知道函数F(x)=Σf(d) d|x,那么我们可以推出f(x)=Σmiu(d)*F(x/d) d|x,另一基本形式为假设知道函数F(x)=Σf(d) x|d,那么我们可以推出f(x)=Σmiu(d)*F(d/x) x|d,第二种形式可以由容斥定理得出,在此不再赘述. 我们由一个例子来了解mobius反演的作用. 求解ans=Σ(0<i<=n)Σ(0<j<=m)1(gcd(i,j)=1)即n,m范围中互质点对儿数. 我们设 F(x)为gcd(i,j)…
Dirichlet 卷积是两个定义域在正整数上的函数的如下运算,符号为 $*$ $(f * g)(n) = \sum_{d|n}f(d)g(\frac{n}{d})$ 如果不强调 $n$ 可简写为 $f * g$ 常用: $\mu * 1 = \epsilon$ $\phi * 1 = id$ $\epsilon(n) = [n=1]$ $id(n)=n$ Mobius 反演是基于 Dirichlet 卷积的一种....化简式子的方法? 比较有用的结论就是 $\mu * 1 = [n=1]$ 由…
下文中所有讨论都在数论函数范围内开展. 数论函数指的是定义域为正整数域, 且值域为复数域的函数. 数论意义下的和式处理技巧 因子 \[ \sum_{d | n} a_d = \sum_{d | n} a_{\frac n d} \] 双重因子 \[ \sum_{k | n} \sum_{j | k} a_{k, j} = \sum_{k | n} \sum_{j | \frac n k} a_{jk, k} \] \[ \sum_{n | k} \sum_{k | j} a_{k, j} = \…
这篇文章参考了许多资料和自己的理解. 先放理论基础. 最大公约数:小学学过,这里只提一些重要的公式: $·$若$a=b$,则$\gcd(a,b)=a=b$: $·$若$\gcd(a,b)=d$,则$\gcd(b,a-b)=d$,所以就有了欧几里得辗转相除法: $·$如果$a$为偶数,$b$为奇数,则$\gcd(a,b)=\gcd\left(\dfrac a2,b\right)$: $·$如果$a$.$b$均为偶数,则$\gcd(a,b)=2\times \gcd\left(\dfrac a2,\…