1 条题解

  • 0
    @ 2025-12-14 16:26:05

    题目

    i=1n2f2(i)+3f1(i)+5f0(i) \sum\limits_{i = 1} ^ n 2f_2(i)+3f_1(i)+5f_0(i) 对 998244353 取模,其中fk(i)=didkf_k(i)=\sum_{d|i} d^kn109n \le {10} ^ 9

    题解

    f2(i)f_2(i) 为例,当 n=10n=10 有:
    f2(1)=12f_2(1)=1^2
    f2(2)=12+22f_2(2)=1^2+2^2
    f2(3)=12+32f_2(3)=1^2+3^2
    f2(4)=12+22+42f_2(4)=1^2+2^2+4^2
    f2(5)=12+52f_2(5)=1^2+5^2
    f2(6)=12+22+32f_2(6)=1^2+2^2+3^2
    f2(7)=12+72f_2(7)=1^2+7^2
    f2(8)=12+42+82f_2(8)=1^2+4^2+8^2
    f2(9)=12+32+92f_2(9)=1^2+3^2+9^2
    f2(10)=12+52+102f_2(10)=1^2+5^2+10^2
    F2(n)=f2(1)+f2(2)+f2(3)++f2(n)F_2(n)=f_2(1)+f_2(2)+f_2(3)+ \dots +f_2(n)
    研究:i2i^2F2(n)F_2(n)中出现了多少次?
    例如:323^2F2(10)F_2(10)中出现了多少次?
    323^2f2(3)f2(6)f2(9)f_2(3)、f_2(6)、f_2(9) 中出现,即是在 F2(10)F_2(10) 中出现了3次,即出现了 103\lfloor \frac{10}{3} \rfloor 次。
    所以可知:i2i^2 在 $f_2(i)、f_2(2i)、f_2(3i) \dots f_2(\lfloor \frac{n}{i} \rfloor*i )$ 中出现,即是在 F2(n)F_2(n) 中出现了 ni\lfloor \frac{n}{i} \rfloor 次。
    由此可得: $F_2(n)=\sum\limits_{i=1}^ni^2*\lfloor\frac{n}{i}\rfloor$
    同理: $F_0(n)=\sum\limits_{i=1}^n1*\lfloor\frac{n}{i}\rfloor$ , $F_1(n)=\sum\limits_{i=1}^ni*\lfloor\frac{n}{i}\rfloor$ 。

    代码

    #include<bits/stdc++.h>
    #define LL long long
    using namespace std;
    constexpr LL N=1e7+10,mod=998244353;
    LL F0,F1,F2,inv6;
    inline LL qpow(LL a,LL b)
    {
        LL res=1;
        for(;b;b>>=1,a=1ll*a*a%mod)if(b&1) res=1ll*res*a%mod;
        return res;
    }
    LL calc(int n)
    {
        return 1ll*n*(n+1)%mod*(2*n+1)%mod*inv6%mod;
    }
    int main()
    {
        int n;scanf("%d",&n);
        inv6=qpow(6,mod-2);
        LL ans=F0=F1=F2=0;
        for(int l=1,r;l<=n;l=r+1)
        {
            r=n/(n/l);
            F2=(F2+ 1ll*(calc(r)-calc(l-1)+mod)%mod*(n/l)%mod)%mod;
            F1=(F1+ 1ll*(r+l)*(r-l+1)/2 %mod*(n/l)%mod)%mod;
            F0=(F0+ 1ll*(r-l+1)*(n/l)%mod)%mod;
        }
        ans=(2*F2+3*F1+5*F0)%mod;
        printf("%lld\n",ans);
        return 0;
    }
    
    • 1

    *【一维除法分块加速】除数函数求和 2

    信息

    ID
    580
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    215
    已通过
    40
    上传者