CF 1528 B. Kavi on Pairing Duty(dp,组合数学)

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll dp[2000050],pre[2000050],mod=998244353,f[2000050];
int main()
{
    
    
    for(int i=2;i<=2000000;i+=2)
    {
    
    
        for(int j=i;j<=2000000;j+=i)f[j]++;
    }
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    
    
        dp[i]=(pre[i-1]+f[2*i])%mod;
        pre[i]=(pre[i-1]+dp[i])%mod;
    }
    cout<<dp[n];
    return 0;
}

おすすめ

転載: blog.csdn.net/Ambrumf/article/details/120923205