1 条题解

  • 1
    @ 2024-3-16 18:06:14

    写在前面

    按照样例去理解,输出的应该是第i头牛被拍的次数

    题意

    对于每一个AiA_i,输出AA中有几个数能被它整除(不包括它本身)。

    思路

    AA中最大的数为maximaxi,最小的数为minimini,我们从minimini枚举到maximaxi,如果这个数在AA中出现过,那么我们就将它所有的倍数的答案加上它在AA中出现的次数。最后输出时要减去它对自己的贡献。

    部分代码

    for(ll i=mini;i<=maxi;i++)
        if(cnt[i]) // cnt为i在A中出现的次数
            for(ll j=i;j<=maxi;j+=i)
                ans[j]+=cnt[i];
    
    • 1

    信息

    ID
    605
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    158
    已通过
    60
    上传者