BZOJ_2956_模积和_数学

Description

 求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j<=m,i≠j。

  

Input

第一行两个数n,m。

Output

  一个整数表示答案mod 19940417的值

Sample Input

3 4

Sample Output

1

样例说明
  答案为(3 mod 1)*(4 mod 2)+(3 mod 1) * (4 mod 3)+(3 mod 1) * (4 mod 4) + (3 mod 2) * (4 mod 1) + (3 mod 2) * (4 mod 3) + (3 mod 2) * (4 mod 4) + (3 mod 3) * (4 mod 1) + (3 mod 3) * (4 mod 2) + (3 mod 3) * (4 mod 4) = 1

数据规模和约定
  对于100%的数据n,m<=10^9。


分析:

$$\sum_{i=1}^{n}\sum_{j=1}^{m}(n-i*\lfloor n/i\rfloor)*(m-j*\lfloor m/j\rfloor)
-\sum_{i=1}^{n}(n\;mod\;i)*(m\;mod\;i)=$$
$$(\sum_{i=1}^{n}n-i*\lfloor n/i\rfloor\;)*(\sum_{i=1}^{m}m-i*\lfloor m/i\rfloor)-$$
$$\sum_{i=1}^{n}(n*m-i*\lfloor n/i\rfloor*m-i*\lfloor m/i\rfloor*n+
i*\lfloor n/i\rfloor*i*\lfloor m/i\rfloor)=$$
$$(n^{2}-\sum_{i=1}^{n}i*\lfloor n/i\rfloor)
*(m^{2}-\sum_{i=1}^{m}i*\lfloor m/i\rfloor)-$$
$$\sum_{i=1}^{n}(n*m-i*\lfloor n/i\rfloor*m-i*\lfloor m/i\rfloor*n+
i*\lfloor n/i\rfloor*i*\lfloor m/i\rfloor)$$
两边都能在$\sqrt n$的时间内算出

代码:

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
typedef long long ll;
ll mod=19940417*6;
ll sum1(ll x) {
return (x+1)*x%mod/2;
}
ll sum2(ll x) {
return x*(x+1)%mod*(2*x+1)%mod/6;
}
ll calc1(ll n) {
int i,lst;
ll ans=n*n%mod;
for(i=1;i<=n;i=lst+1) {
lst=(n/(n/i));
ans=(ans-(n/i)*(sum1(lst)-sum1(i-1)+mod)%mod+mod)%mod;
}
return ans;
}
ll calc2(ll n,ll m) {
int i,lst;
ll ans=n*m%mod,r=min(n,m);
ans=ans*r%mod;
for(i=1;i<=r;i=lst+1) {
lst=min(n/(n/i),m/(m/i));
ll del=(sum1(lst)-sum1(i-1)+mod)%mod;
ans=(ans-m*(n/i)%mod*del%mod-n*(m/i)%mod*del%mod+(n/i)*(m/i)%mod*(sum2(lst)-sum2(i-1)+mod)%mod)%mod;
}
return ans;
}
int main() {
ll n,m;
scanf("%lld%lld",&n,&m);
printf("%lld\n",(calc1(n)*calc1(m)%mod-calc2(n,m)+mod)%(mod/6));
}

BZOJ_2956_模积和_数学的更多相关文章

  1. BZOJ_2467_[中山市选2010]生成树_数学

    BZOJ_2467_[中山市选2010]生成树_数学 [Submit][Status][Discuss] Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成 ...

  2. BZOJ_2721_[Violet 5]樱花_数学

    BZOJ_2721_[Violet 5]樱花_数学 Description Input Output $\frac{1}{x}+\frac{1}{y}=\frac{1}{m}$ $xm+ym=xy$ ...

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

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

  4. 【BZOJ】2956:模积和

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

  5. 【BZOJ2956】模积和 分块

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

  6. UOJ_21_【UR #1】缩进优化_数学

    UOJ_21_[UR #1]缩进优化_数学 题面:http://uoj.ac/problem/21 最小化$\sum\limits{i=1}^{n}a[i]/x+a[i]\;mod\;x$ =$\su ...

  7. BZOJ_4459_[Jsoi2013]丢番图_数学+分解质因数

    BZOJ_4459_[Jsoi2013]丢番图_数学+分解质因数 Description 丢番图是亚历山大时期埃及著名的数学家.他是最早研究整数系数不定方程的数学家之一. 为了纪念他,这些方程一般被称 ...

  8. P2260 [清华集训2012]模积和 【整除分块】

    一.题目 P2260 [清华集训2012]模积和 二.分析 参考文章:click here 具体的公式推导可以看参考文章.博主的证明很详细. 自己在写的时候问题不在公式推导,公式还是能够比较顺利的推导 ...

  9. 「BZOJ 2956」模积和

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

随机推荐

  1. 万水千山ABP - 系统发布后迁移 CodeFirst 数据库[原创]

    在项目开发的过程中,常会遇到项目发布后还变更数据库的情况.这时如何方便地进行数据库迁移呢 ? 下面直接列出操作的步骤: 1. 发布修改后的应用: 将最新版本的应用更新到目标机器中.更新的文件当然不包括 ...

  2. 手动编译Flume

    1.源码下载: 我用的是1.6版,因为加了kafka-sink,下载地址 http://www.apache.org/dyn/closer.cgi/flume/1.6.0/apache-flume-1 ...

  3. 新装的主机没有ifconfig,route等命令,怎么查找对应的安装包

    公司最近有台新装的主机,主机上一些常用的命令都没有,比如说ifconfig,route等命令. 没有这些命令主机很难工作,所以我们就需要把他安装上 第一种方法:是你需要知道对应的是那个包 比如说ifc ...

  4. 面向对象的WebAPI框架XXL-HEX

    <面向对象的WebAPI框架XXL-HEX>    一.简介 1.1 概述 XXL-HEX 是一个简单易用的WebAPI框架, 拥有 "面向对象.数据加密.跨语言" 的 ...

  5. JAVA未来前景还能持续多久

    有很多人一直在说JAVA现在已经饱和了,已经没有必要学Java,程序员已经是严重过剩,行业人才竞争状况更是恶性的之类的云云.现实真是这样嘛? Java目前现状 首先,Java的应用可以说是无处不在,从 ...

  6. 洛谷 P1613 解题报告

    P1613 跑路 题目描述 小\(A\)的工作不仅繁琐,更有苛刻的规定,要求小\(A\)每天早上在\(6:00\)之前到达公司,否则这个月工资清零.可是小\(A\)偏偏又有赖床的坏毛病.于是为了保住自 ...

  7. 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事

    微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...

  8. Jupyter-notebook 导出时不显示Input[]代码

    参考: https://stackoverflow.com/questions/34818723/export-notebook-to-pdf-without-code    1. 第一个方式是直接在 ...

  9. spring和hibernate整合之---java.lang.ClassNotFoundException: javax.el.ELManager 大坑

    今天整合spring和hibernate, 本着使用最高版本的原则, 使用了hibernate-validator  6.0.1.Final, tomcat是7.0.56, 启动时出现如下错误. 经过 ...

  10. SSM-Spring-19:Spring中JdbcTemplate

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- Spring自带一个ORM持久化框架JdbcTemplate,他可以说是jdbc的加强版,但是对最细微的控制肯 ...