码迷,mamicode.com
首页 > 其他好文 > 详细

●BZOJ 3529 [Sdoi2014]数表

时间:2018-01-11 22:23:00      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:problem   sum   strong   sdoi   题目   target   tar   ref   题解   

题链:

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]数表

标签:problem   sum   strong   sdoi   题目   target   tar   ref   题解   

原文地址:https://www.cnblogs.com/zj75211/p/8270517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!