2023.1.30 闲话

推歌:デビルじゃないもん .


APJ 给我发了一个论文鸽的云剪切板 /paste/ljlnucke,我来摘抄一下 .


zeta 变换(因子方向):

\[f\zeta(n)=\sum_{d\mid n}f(d) \]

(Dirichlet 前缀和,素因子维度上高维前缀和,Möbius 变换的逆)

\(\Theta(n\log n)\) 算法:枚举倍数,复杂度是调和级数 .

\(\Theta(n\log\log n)\) 算法:枚举素数作高维前缀和,根据 Mertens 第二定理就是 \(\Theta(n\log\log n)\) .


zeta 变换(倍数方向):

\[\zeta f(n)=\sum_{n\mid d}f(d) \]

(Dirichlet 后缀和,素因子维度上高维后缀和,Möbius 变换的逆)

倍数方向的分析种常令 \(n\) 为使得 \(f(n)\neq 0\) 的最大 \(n\),一般认为存在这样的整数 \(n\) .

\(\Theta(n\log n)\) 算法:枚举倍数,复杂度是调和级数 .

\(\Theta(n\log\log n)\) 算法:略 .


Möbius 变换(因子方向):

\[f\mu(n)=\sum_{d\mid n}\mu\left(\dfrac nd\right)f(d) \]

\(\Theta(n\log n)\) 算法:枚举倍数,复杂度是调和级数 .

\(\Theta(n\log\log n)\) 算法:和 zeta 变换完全相反做即可

_rqy 有一个 DP 解释:

比如要算 \(f*\mu=g\),也就是 \(g=f\mu\) 的时候,考虑令

\[g_{i,n}=\sum_{\substack{d\mid n\cr d\text{ 只含前 } i \text{ 种素因子}}}\mu\left(\dfrac nd\right)f(d) \]

可以转移:

\[g_{i,n}=\begin{cases}g_{i-1,n}&p_i\nmid n\\g_{i-1,n}-g_{i-1,n/p_i}&p_i\mid n\end{cases} \]

也是根据 Mertens 第二定理可以得到复杂度 .


Möbius 变换(倍数方向):

\[\mu f(n)=\sum_{n\mid d}f(d) \]

倍数方向的分析种常令 \(n\) 为使得 \(f(n)\neq 0\) 的最大 \(n\),一般认为存在这样的整数 \(n\) .

\(\Theta(n\log n)\) 算法:枚举倍数,复杂度是调和级数 .

\(\Theta(n\log\log n)\) 算法:略 .


以上内容就是说 \(f\zeta = f*1\)\(f\mu = f*\mu\),倍数方向相反 .

一些性质:

逆:\(f\zeta\mu=f\mu\zeta=\zeta\mu f=\mu\zeta f=f\) .

卷积(gcd/lcm 卷积)

\[\begin{aligned}&h\zeta(n)=f\zeta(n)g\zeta(n)\\\Longleftrightarrow&h(n)=\sum_{\operatorname{lcm}(i,j)=n}f(i)g(j)\\&\zeta h(n)=\zeta f(n)\zeta g(n)\\\Longleftrightarrow&h(n)=\sum_{\gcd(i,j)=n}f(i)g(j)\end{aligned} \]

以上内容根据定义即可证明 .

听说 gcd/lcm 卷积可以推广到任意的半格

备份:原来编的题

给正整数 \(n\),求

\[\sum_{k=1}^nk\sum_{i=1}^{\lfloor\frac nk\rfloor}\sum_{d=1}^{\min\{i,k\}}\mu(d)\gamma_d(i)\gamma_d(k)\left\lfloor\dfrac nk\right\rfloor \]

其中 \(\displaystyle\gamma_d(n)=\sum_{i\mid d}[\gcd(n,i)=1]\) .

\(1\le n\le 5\times 10^6\) .

观察可得原式即为

\[\sum_{k=1}^n\sum_{i=1}^{\lfloor\frac nk\rfloor}d(ik)\sum_{i=1}^{\lfloor\frac nk\rfloor}ik \]

仔细观察可以发现就是 gcd 卷积,于是 \(\Theta(n\log\log n)\) 做就行了 .


四元组统计

给序列 \(\{a_n\}\),问有多少四元组 \((i,j,k,l)\) 满足 \(\gcd(a_i,a_j,a_k,a_l)=1\) .

多组数据,\(T\le 100\)\(n,a_i\le 10^4\) .

gcd 卷积 .

posted @ 2023-01-30 11:27  Jijidawang  阅读(66)  评论(2编辑  收藏  举报
😅​