莫反总结

因为本人太菜,就只总结了几道题。
[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}\)

这个式子看上去可以整除分块了,但是又长得不太一样,要前缀积处理

推式子技巧提炼

因为推式子很活,这里只写出一部分做思路提示,一些比较生搬硬套的不会写下

  1. \(d(ij) = \sum_{x|i}\sum_{y|j}[gcd(x,y)==1]\)
  2. \(lcm(i,j)=\frac{ij}{gcd(i,j)}\)
  3. gcd 的处理 a. 决定计算个数的 \(gcd\) 可以莫反
  4. gcd 的处理 b. 在整个前面枚举 \(gcd\) ,然后再后面添加 \([gcd(i,j)==d]\)
  5. gcd 的处理 c. 与前面作用相同只是给 gcd 套上 \(Id\)
  6. gcd 的处理 d. 对于 \([gcd(i,j)==d]\) 提出公因数 \(d\)
  7. gcd 的处理 e. 对于\([gcd(i,j)==1] ->\sum_{x|i,x|j}\mu(x)\)
  8. 式子变换处理 a. 一般来说不会保留 \(\sum_{d|n}\) 这时直接换元 令 \(t = \frac nd\)
  9. 式子变换处理 b. 对于内嵌的 \(\sum_{d|i}\) 将这个往外提原本在外面的加上 \([gcd(i,j)==d]\)
  10. 式子变换处理 c. 对于 $\sum_{t=1}n\sum_{d=1} S(\frac n {dt}) $形如这样的结构可以换元变为 \(\sum_{T=1}^{n}\sum_{t|T} S(\frac n T)\)
posted @ 2021-02-09 10:17  jojojojojob  阅读(135)  评论(0编辑  收藏  举报