zoukankan      html  css  js  c++  java
  • luogu P3911

    题目

    修复了一些小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} ]

    一些解释(大佬可直接跳过):

    1. (s=kd)
    2. 结果中的平方为上面的式子中的 (i)(j),他俩其实是一样的。

    最后,我们使用线性筛预处理 (sum_{kmid s}mu(k) imes k),输入时直接处理 (t),然后暴力就完了。

    代码按照上面的暴力即可,就不给了 QVQ。

  • 相关阅读:
    ThinkPHP3.1快速入门(12)自动验证
    ThinkPHP CURD方法盘点:page方法
    ThinkPHP CURD方法盘点:table方法
    ThinkPHP CURD方法盘点:order方法
    ThinkPHP CURD方法盘点:data方法
    openssl安装问题导致nginx添加ssl模块失败
    rsync介绍
    基于CRF序列标注的中文依存句法分析器的Java实现
    千万级巨型汉语词库分享
    几个开源分词系统所使用标注集的来源
  • 原文地址:https://www.cnblogs.com/codingxu/p/15251468.html
Copyright © 2011-2022 走看看