• 模积和 HYSBZ


    题目
    (sum_{i = 1}^nsum_{j = 1}^m (n mod i) (m mod j))(i≠j)

    (sum_{i = 1}^nsum_{j = 1}^m(n - lfloorfrac{n}{i} floor * i)(m - lfloorfrac{m}{j} floor * j) - sum_{i = 1}^{min(n, m)}(n - lfloorfrac{n}{i} floor * i)(m - lfloorfrac{m}{i} floor * i))
    (f(n) = sum_{i = 1}^n(n - lfloorfrac{n}{i} floor * i) = n^2 - sum_{i = 1}^ni * lfloorfrac{n}{i} floor)
    (sum_{i = 1}^{min(n, m)}(n - lfloorfrac{n}{i} floor * i)(m - lfloorfrac{m}{i} floor * i))
    (n ≤ m)
    $sum_{i = 1}^{n}(n - lfloorfrac{n}{i} floor * i)(m - lfloorfrac{m}{i} floor * i) = sum_{i= 1} ^ n n * m - n * ilfloorfrac{m}{i} floor - m * i * lfloorfrac{n}{i} floor + i * i * lfloorfrac{n}{i} floor * lfloorfrac{m}{i} floor $

    #include <iostream>
    #include <cstdio>
    #define ll long long
    using namespace std;
    const int mod = 19940417;
    const int inv = 3323403; //6 在mod下的逆元
    ll sum(ll l, ll r){
        return (r - l + 1) * (l + r) / 2 % mod;
    }
    ll sum2(ll x){
        return x * (x + 1) % mod * (2 * x + 1) % mod * inv % mod;
    }
    ll cal(ll n){
        ll ans = 0;
        for(ll l = 1, r; l <= n; l = r + 1){
            r = n / (n / l);
            ans = (ans + n * (r - l + 1) % mod - sum(l, r) * (n / l)) % mod;
        }
        return (ans + mod) % mod;
    }
    int main(){
        ll n, m;
        scanf("%lld%lld", &n, &m);
        ll ans = cal(n) * cal(m) % mod;
        if(n > m)swap(n, m);
        ll s1, s2, s3;
        for(ll l = 1, r; l <= n; l = r + 1){
            r = min(n / (n / l), m / (m / l));
            s1 = n * m % mod * (r - l + 1) % mod;
            s2 = (n / l) * (m / l) % mod * (sum2(r) - sum2(l - 1) + mod) % mod;
            s3 = ((n / l) * m % mod + (m / l) * n % mod) % mod * sum(l, r) % mod;
            ans = (ans - (s1 + s2 - s3) % mod + mod) % mod;
        }
        printf("%lld
    ", ans);
        return 0;
    }
    
    
  • 相关阅读:
    webapi Action中跳转到指定内容
    命令行添加防火墙入站规则
    nps简单配置(linux环境)
    C# 执行Javascript脚本
    Docker集群管理(Docker Swarm)
    linux简单的部署frp
    QMap只有insert,而没有append
    SqlServer 数据发布与订阅时一个小问题的处理
    Vue 内部指令缩写
    html中ol li和ul li的区别
  • 原文地址:https://www.cnblogs.com/Emcikem/p/12876701.html
Copyright © 2020-2023  润新知