莫反总结
因为本人太菜,就只总结了几道题。
[SDOI2015] 约数个数和 + [BZOJ2673] Jzptab + [SDOI2014] 数表 + [SDOI2017] 数字表格
下面总结一下这几道题推式子的技巧
[SDOI2015] 约数个数和
求 \(\sum_i\sum_jd(ij)\)
首先要知道 \(d(ij) = \sum_{x|i}\sum_{y|j} [gcd(x,y)==1]\) 证明考虑一一映射
之后的便是一步一步提出式子
$ = \sum_i \sum_j \sum_{x|i} \sum_{y|j} [gcd(x,y) == 1] $
$= \sum_x \sum_y \frac n x \frac m y [gcd(x,y) == 1 ] $ 接着将 \([gcd==1]\) 变为 \(\mu\) 即可
[BZOJ2673] Jzptab
求 \(\sum_i\sum_jlca(i,j)\)
我们习惯于求 \(gcd\) 不难想到 \(gcd(n,m) * lca(n,m) = nm\)
于是 $\sum_i\sum_j\frac{ij}{gcd(i,j)} = \sum_dd\sum_{i=1}^{\frac nd}\sum_{j=1}^{\frac md}ij[gcd(i,j)==1] $
\(\sum_{d=1}^nd\sum_{x=1}^{\frac n d} x^2\mu(x)S(\frac n {xd}) S(\frac m {xd})\)
这里又一部很经典的变换,证明较为复杂,需要将原式一一映射到变式上去。只需记住其中心思想 -> 能够先枚举较为复杂的变量然后再算(改变求和顺序)
令 \(T = xd\),则 $ \sum_{T=1}^{n} TS(\frac n T) S(\frac m T)\sum_{t|T}\mu(t)t $
有了这个之后就可以直接数论分块计算了
[SDOI2014] 数表
求 \(\sum_{i=1}^n\sum_{j=1}^mo(gcd(i,j))\)
因为对 \(o(x)\) 有限制,还不能就把 \(o(x)\) 直接消掉,如果消掉了就不好表示出限制条件
所以 \(\sum_{d=1}^{n}\sum_{i=1}^{\frac n d} \sum_{j = 1}^{\frac m d} o(d)[gcd(i,j)==1]=\sum_{d=1}^no(d)\sum_{t=1}^{\frac n d}\mu(t)*\frac {n} {dt} *\frac {m} {dt}\)
又是那一步经典变化 ,观察到可以数论分块下部为 \(dt\) 换元
\(\sum_{T=1}^n\sum_{t|T}o(t)\mu(\frac T t) * S(\frac nT) * S(\frac m T)\)
[SDOI2017]数字表格
求 \(\prod_{i=1}^n\prod_{j=1}^mfi(gcd(i,j))\)
因为 \(gcd\) 相同的会出现很多次(注意对于连乘操作,如果要把后面的往前提,那么必须要把式子变到幂次那里,并换为连加符号)
\(\prod_{i=1}^nfi(i)^{\sum_{i|d}F(d)\mu(\frac d i)} = \prod_{i=1}^nfi(i)^{\sum_{d=1}^{n/i}\frac n {di} \frac m {di}\mu(d)}\)
同样的考虑换元
\(\prod_{T=1}^{n}\prod_{i|T}fi(i)^{\mu(\frac T i)\frac n T \frac mT}\)
这个式子看上去可以整除分块了,但是又长得不太一样,要前缀积处理
推式子技巧提炼
因为推式子很活,这里只写出一部分做思路提示,一些比较生搬硬套的不会写下
- \(d(ij) = \sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\)
- \(lcm(i,j)=\frac{ij}{gcd(i,j)}\)
- gcd 的处理 a. 决定计算个数的 \(gcd\) 可以莫反
- gcd 的处理 b. 在整个前面枚举 \(gcd\) ,然后再后面添加 \([gcd(i,j)==d]\)
- gcd 的处理 c. 与前面作用相同只是给 gcd 套上 \(Id\)
- gcd 的处理 d. 对于 \([gcd(i,j)==d]\) 提出公因数 \(d\)
- gcd 的处理 e. 对于\([gcd(i,j)==1] ->\sum_{x|i,x|j}\mu(x)\)
- 式子变换处理 a. 一般来说不会保留 \(\sum_{d|n}\) 这时直接换元 令 \(t = \frac nd\)
- 式子变换处理 b. 对于内嵌的 \(\sum_{d|i}\) 将这个往外提原本在外面的加上 \([gcd(i,j)==d]\)
- 式子变换处理 c. 对于 $\sum_{t=1}n\sum_{d=1} S(\frac n {dt}) $形如这样的结构可以换元变为 \(\sum_{T=1}^{n}\sum_{t|T} S(\frac n T)\)