题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2956

题意:给出n和m。计算:

思路:

i64 n,m;

i64 cal(i64 m,i64 n)
{
    i64 ans=0,i,x,y;
    for(i=1;i<=n;i++)
    {
        x=m/i; y=min(n,m/x);
        ans+=(i+y)*(y-i+1)/2%mod*x%mod;
        ans%=mod;
        i=y;
    }
    return ans;
}

i64 get(i64 n)
{
    i64 a=n,b=n+1,c=2*n+1;
    
    if(a%2==0) a>>=1;
    else b>>=1;
    
    if(a%3==0) a/=3;
    else if(b%3==0) b/=3;
    else c/=3;
    
    return a*b%mod*c%mod;
}

i64 cal(i64 n,i64 m,i64 k)
{
    i64 ans=0,i,x,y,z;
    for(i=1;i<=k;i++)
    {
        x=n/i; y=m/i; z=min(k,min(n/x,m/y));
        ans+=(get(z)-get(i-1))%mod*x%mod*y%mod;
        ans%=mod;
        i=z;
    }
    return ans;
}

int main()
{
    RD(n,m);
    if(n>m) swap(n,m);
    i64 ans1=(n*n%mod-cal(n,n))%mod*(m*m%mod-cal(m,m))%mod;
    i64 ans2=n*n%mod*m%mod-n*cal(m,n)%mod-m*cal(n,n)%mod+cal(n,m,n)%mod;
    i64 ans=(ans1-ans2)%mod;
    if(ans<0) ans+=mod;
    PR(ans);
}

BZOJ 2956 模积和的更多相关文章

  1. BZOJ 2956 模积和 (数学推导+数论分块)

    手动博客搬家: 本文发表于20170223 16:47:26, 原地址https://blog.csdn.net/suncongbo/article/details/79354835 题目链接: ht ...

  2. [Bzoj 2956] 模积和 (整除分块)

    整除分块 一般形式:\(\sum_{i = 1}^n \lfloor \frac{n}{i} \rfloor * f(i)\). 需要一种高效求得函数 \(f(i)\) 的前缀和的方法,比如等差等比数 ...

  3. BZOJ 2956 模积和(分块)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2956 [题目大意] 求∑∑((n%i)*(m%j))其中1<=i<=n,1 ...

  4. bzoj 2956: 模积和 ——数论

    Description 求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j<=m,i≠j. Input 第一行两个数n,m. Output 一个整数表 ...

  5. 【BZOJ】2956: 模积和

    题意 求\(\sum_{i=1}^{n} \sum_{j=1}^{m} (n \ mod \ i)(m \ mod \ j)[i \neq j] \ mod \ 19940417\), \((n, m ...

  6. 【BZOJ】2956:模积和

    Time Limit: 10 Sec  Memory Limit: 128 MB Description 求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j ...

  7. 「BZOJ 2956」模积和

    「BZOJ 2956」模积和 令 \(l=\min(n,m)\).这个 \(i\neq j\) 非常不优雅,所以我们考虑分开计算,即: \[\begin{aligned} &\sum_{i=1 ...

  8. BZOJ_2956_模积和_数学

    BZOJ_2956_模积和_数学 Description 求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j<=m,i≠j. Input 第一行两个数 ...

  9. P2260 [清华集训2012]模积和

    P2260 [清华集训2012]模积和 整除分块+逆元 详细题解移步P2260题解板块 式子可以拆开分别求解,具体见题解 这里主要讲的是整除分块(数论分块)和mod不为素数时如何求逆元 整除分块:求Σ ...

随机推荐

  1. zoj 2760 How Many Shortest Path 最大流

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1760 Given a weighted directed graph ...

  2. 【BZOJ】【4010】【HNOI2015】菜肴制作

    拓扑排序 这题是要求N个点的一个拓扑序,且满足以下条件:编号1的位置尽可能靠前,在此基础上编号2的位置尽可能靠前…… 我看到这题的第一感觉:将拓扑排序用的队列改为优先队列,编号越小越早出来. 但是连样 ...

  3. 【BZOJ】【2631】Tree

    LCT 又一道名字叫做Tree的题目…… 看到删边加边什么的……又是动态树问题……果断再次搬出LCT. 这题比起上道[3282]tree的难点在于需要像线段树维护区间那样,进行树上路径的权值修改&am ...

  4. C#异常处理策略

    1.如果某些异常,本组件无法处理,不要捕获,但要声明有这个异常.例如SecurityException. 2.如果某些异常,本组件可以处理,捕获并处理它,不再声明此异常.例如DirectoryNotF ...

  5. 疑难杂症rendering(对角线上的线)

    postprocess全屏特效 对角线有条线 明显和buffer有关因为线由小的东西组成 就像之前没清空buffer产生的马赛克 beginscene时 clearmask 设0 ---------- ...

  6. aspose.cell 自定义模板 SUM无效

    数字类型的单元格, 显示   解决方案: 绑定的DataTable的列为字符串类型. 应该将其设置成数字类型的列

  7. Topcoder SRM 630div 2

    A:不断的消除两个相邻的相等字符,简单题. 真心不习惯STL.. #include<iostream> #include <string> #include <vecto ...

  8. DirectShow 最简单的入门 -- 播放一段视频

    #include <dshow.h> #pragma comment(lib,"strmbase.lib") #pragma comment(lib,"qua ...

  9. 迁移到MariaDB galera

    迁移到MariaDB galera [已注销] [已注销] -- :: [安装] ====== https://downloads.mariadb.org/mariadb/repositories/ ...

  10. (转)Eclipse平台技术概述

    转载:周金根 http://zhoujg.blog.51cto.com/1281471/516833    Eclipse:Eclipse平台技术概述 2010-10-19 13:35:00 标签:E ...