修复了一些小bug,(。・_・。)ノI’m sorry~
给出集合 (A),设 (n=mid Amid),求 (sum_{i=1}^nsum_{j=1}^n ext{lcm}(A_i,A_j))。
摸到这道题,我们马上就可以发现 (A) 中的元素是无序的,题目中给出的式子没法化简,所以我们不得不考虑转化式子。
数据范围 (1le A_ile5e4),这就很好办了……
开一个桶(这里用数组 (t) 表示),(t[i]) 表示数 (i) 在集合中出现的次数。
这样原式就转化为了:
[sum_{i=1}^nsum_{j=1}^n ext{lcm}(i,j) imes t[i] imes t[j]
]
注意此后 (n) 指集合 (A) 中元素的最大值。
这样好像就可以转化 ( ext{gcd}) 求解了。
(为了此篇题解更通俗易懂,接下来的推导会有些冗余部分,见谅~)
愉快的推式子时间~:
[large
egin{aligned}
&sum_{i=1}^nsum_{j=1}^n ext{lcm}(i,j) imes t[i] imes t[j]\
&Rightarrowsum_{i=1}^nsum_{j=1}^nfrac{i imes j}{ ext{gcd}(i,j)} imes t[i] imes t[j]\
&Rightarrowsum_{d=1}^nsum_{i=1}^nsum_{j=1}^nfrac{i imes j}{[ ext{gcd}(i, j)=d] imes d} imes t[i] imes t[j]\
&Rightarrowsum_{d=1}^nsum_{i=1}^{lfloorfrac{n}{d}
floor}sum_{j=1}^{lfloorfrac{n}{d}
floor}frac{i d imes jd}{[ ext{gcd}(i, j)=1] imes d} imes t[id] imes t[jd]\
&Rightarrowsum_{d=1}^nsum_{i=1}^{lfloorfrac{n}{d}
floor}sum_{j=1}^{lfloorfrac{n}{d}
floor}d imes i imes j imes[ ext{gcd}(i, j)=1] imes t[id] imes t[jd]\
&Rightarrowsum_{d=1}^nsum_{i=1}^{lfloorfrac{n}{d}
floor}sum_{j=1}^{lfloorfrac{n}{d}
floor}d imes i imes j imessum_{kmid i,kmid j}mu(k) imes t[id] imes t[jd]\
&Rightarrowsum_{d=1}^nsum_{i=1}^{lfloorfrac{n}{d}
floor}sum_{j=1}^{lfloorfrac{n}{d}
floor}sum_{kmid i,kmid j}mu(k) imes d imes i imes j imes t[id] imes t[jd]\
&Rightarrowsum_{d=1}^nsum_{k=1}^{lfloorfrac{n}{d}
floor}sum_{i=1}^{lfloorfrac{n}{kd}
floor}sum_{j=1}^{lfloorfrac{n}{kd}
floor}mu(k) imes d imes ik imes jk imes t[ikd] imes t[jkd]\
&Rightarrowsum_{s=1}^ns imessum_{kmid s}mu(k) imes k (sum_{i=1}^{lfloorfrac{n}{s}
floor}i imes t[is])^2
end{aligned}
]
一些解释(大佬可直接跳过):
- (s=kd)。
- 结果中的平方为上面的式子中的 (i) 和 (j),他俩其实是一样的。
最后,我们使用线性筛预处理 (sum_{kmid s}mu(k) imes k),输入时直接处理 (t),然后暴力就完了。
代码按照上面的暴力即可,就不给了 QVQ。