莫反一些题

Posted 吃花椒的妙酱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了莫反一些题相关的知识,希望对你有一定的参考价值。

序列(牛客)
题目大意:求gcd(x,y)=1且 a b y = b a x a_{b_y}=b_{a_x} aby=bax的 有序对对数

思路:
所求 = ∑ x = 1 n ∑ y = 1 n [ g c d ( x , y ) = 1 ] [ a b y = b a x ] \\sum_{x=1}^n\\sum_{y=1}^n[gcd(x,y)=1] [a_{b_y}=b_{a_x}] x=1ny=1n[gcd(x,y)=1][aby=bax]
f ( d ) = ∑ i = 1 n ∑ j = 1 n [ g c d ( x , y ) = d ] [ a b y = b a x ] f(d) = \\sum_{i=1}^{n}\\sum_{j=1}^n[gcd(x,y)=d][a_{b_y}=b_{a_x}] f(d)=i=1nj=1n[gcd(x,y)=d][aby=bax]
将f(d)求倍数和,有
g ( d ) = ∑ d ∣ d ’ f ( d ’ ) = ∑ d ∣ x , d ∣ y [ a b x = b a y ] g(d) = \\sum_{d|d’}f(d’)= \\sum_{d|x,d|y} [a_{b_x}= b_{a_y}] g(d)=ddf(d)=dx,dy[abx=bay]
反演得 f ( d ) = ∑ d ∣ d ’ μ ( d ’ d ) g ( d ’ ) f(d) = \\sum_{d|d’}\\mu(\\frac{d’}{d})g(d’) f(d)=ddμ(dd)g(d)
所求为 f ( 1 ) = ∑ d = 1 N μ ( d ) g ( d ) , 其 中 N = m a x ( a i ) f(1) = \\sum_{d=1}^{N}\\mu(d)g(d),其中N = max(a_i) f(1)=d=1Nμ(d)g(d),N=max(ai)
对于所有的g(d)我们可以nlogn处理——枚举d,然后再枚举d的倍数
最后求和

LCMs
题目大意:给定数组a,求 ∑ i = 0 n − 2 ∑ j = i + 1 n − 1 l c m ( a i , a j ) \\sum_{i=0}^{n-2}\\sum_{j=i+1}^{n-1}lcm(a_i,a_j) i=0n2j=i+1n1lcm(ai,aj)mod998244353
思路:
原来的柿子不好求,不是任意有序对,我们转化为任意的有序对
∑ i = 0 n − 1 ∑ j = 0 n − 1 l c m ( a i , a j ) = 2 ∗ a n s + ∑ i = 0 n − 1 a i \\sum_{i=0}^{n-1}\\sum_{j=0}^{n-1}lcm(a_i,a_j)=2*ans + \\sum_{i=0}^{n-1}a_i i=0n1j=0n1lcm(ai,aj)=2ans+i=0n1ai
上柿继续化简,把lcm去掉
上式 = ∑ i = 0 n − 1 ∑ j = 0 n − 1 a i ∗ a j ∗ ( 1 g c d ( a i , a j ) ) \\sum_{i=0}^{n-1}\\sum_{j=0}^{n-1}ai*aj*(\\frac{1}{gcd(a_i,a_j)}) i=0n1j=0n1aiaj(gcd(ai,aj)1)
枚举gcd
上柿 = ∑ d = 1 N 1 d ∑ i = 0 n − 1 ∑ j = 0 n − 1 a i ∗ a j ∗ [ g c d ( a i , a j ) = d ] ) \\sum_{d=1}^{N} \\frac{1}{d} \\sum_{i=0}^{n-1}\\sum_{j=0}^{n-1}ai*aj*[gcd(a_i,a_j)=d]) d=1Nd1i=0n1j=0n1aiaj[gcd(ai,aj)=d])
f ( d ) = ∑ i = 0 n − 1 ∑ j = 0 n − 1 a i ∗ a j ∗ [ g c d ( a i , a j ) = d ] ) f(d) = \\sum_{i=0}^{n-1}\\sum_{j=0}^{n-1}ai*aj*[gcd(a_i,a_j)=d]) f(d)=i=0P1829 JZPTAB(莫反)

莫反常见套路

P2158 [SDOI2008]仪仗队(欧拉函数&莫反)

P3327 [SDOI2015]约数个数和(莫反&整除分块)

P2522 [HAOI2011]Problem b(莫反&整除分块)

于神之怒加强版 (莫反)