●BZOJ 3529 [Sdoi2014]数表

Posted *ZJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了●BZOJ 3529 [Sdoi2014]数表相关的知识,希望对你有一定的参考价值。

题链:

http://www.lydsy.com/JudgeOnline/problem.php?id=3529

题解:

莫比乌斯反演。

按题目的意思,令$f(i)$表示i的所有约数的和,就是要求:

$ANS=\sum f(gcd(i,j)),满足1 \leq i \leq n,1 \leq j \leq m,且 f(gcd(i,j))\leq a$

 


首先 $f(i)$ 应该还是比较好推的,利用其为积性函数的特点,可以在线性筛时完成计算。

令$g[k]$表示$gcd(i,j)=k$的$(i,j)$的对数

$G[k]$表示$gcd(i,j)=\lambda k$的$(i,j)$的对数,其值$G[k]=\lfloor \frac{n}{k} \rfloor \lfloor \frac{m}{k} \rfloor$

那么显然,$G[k]$为$g[k]$的倍数关系和函数,

即满足$G[k]=\sum_{k|d} g[d]$

则由莫比乌斯反演得:

$g[k]=\sum_{k|d}\mu(\frac{d}{k})G[d]$

$\quad\quad=\sum_{k|d}\mu(\frac{d}{k})\lfloor \frac{n}{d} \rfloor \lfloor \frac{m}{d} \rfloor$

那么现在,直接从gcd的值的角度出发,ANS可以写成如下形式:

$ANS=\sum_{i=1}^{min(n,m)}f(i)g(i)$

$\quad\quad=\sum_{i=1}^{min(n,m)}f(i)\sum_{i|d}\mu(\frac{d}{i})\lfloor \frac{n}{d} \rfloor \lfloor \frac{m}{d} \rfloor$

然后再化一下:

$\quad\quad=\sum_{d=1}^{min(n,m)}\lfloor \frac{n}{d} \rfloor \lfloor \frac{m}{d} \rfloor\sum_{i|d}f(i)\mu(\frac{d}{i})$

令 $w(d)=\sum_{i|d}f(i)\mu(\frac{d}{i})$

那么$ANS=\sum_{d=1}^{min(n,m)}\lfloor \frac{n}{d} \rfloor \lfloor \frac{m}{d} \rfloor w(d)$

以上是关于●BZOJ 3529 [Sdoi2014]数表的主要内容,如果未能解决你的问题,请参考以下文章

BZOJ 3529: [Sdoi2014]数表

BZOJ3529: [Sdoi2014]数表

BZOJ3529: [Sdoi2014]数表

bzoj3529: [Sdoi2014]数表

bzoj 3529: [Sdoi2014]数表

[BZOJ3529][Sdoi2014]数表