Description

给出正整数\(n\)和\(k\),计算\(j(n, k)=k\;mod\;1\;+\;k\;mod\;2\;+\;k\;mod\;3\;+\;…\;+\;k\;mod\;n\)的值,其中\(k\;mod\;i\)表示\(k\)除以\(i\)的余数。例如\(j(5, 3)=3\;mod\;1\;+\;3\;mod\;2\;+\;3\;mod\;3\;+\;3\;mod\;4\;+\;3\;mod\;5=0+1+0+3+3=7\)

Input

输入仅一行,包含两个整数\(n, k\)。

Output

输出仅一行,即\(j(n, k)\)。

Sample Input

5 3

Sample Output

7

HINT

\(50\%\)的数据满足:\(1 \le n, k le 1000\)。

\(100\%\)的数据满足:\(1 \le n ,k \le 10^{9}\)。

\(n\;mod\;i=n-i \times \lfloor \frac{n}{i} \rfloor\),因此我们可以对\(\lfloor \frac{n}{i} \rfloor\)相同的值的一块进行分块(\(\sqrt{n}\)块)。

#include<cstdio>
#include<cstdlib>
#include<iostream>
using namespace std; typedef long long ll; inline ll sum(ll a,ll b) { return (a+b)*(b-a+1)>>1; } inline ll calc(ll n,ll m)
{
ll ret = 0;
if (m > n) ret = (m-n)*n,m = n;
ll pos;
for (ll i = 1;i <= m;i = pos+1)
{
pos = min(n/(n/i),m);
ret += (pos-i+1)*n-sum(i,pos)*(n/i);
}
return ret;
} int main()
{
freopen("1257.in","r",stdin);
freopen("1257.out","w",stdout);
ll n,m;
scanf("%lld %lld",&m,&n);
printf("%lld",calc(n,m));
fclose(stdin); fclose(stdout);
return 0;
}

BZOJ 1257 余数之和的更多相关文章

  1. BZOJ - 1257 余数之和(数学)

    题目链接:余数之和 题意:给定正整数$n$和$k$,计算$k\%1+k\%2+\dots+k\%n$的值 思路:因为$k\%i=k-\left \lfloor \frac{k}{i} \right \ ...

  2. BZOJ 1257 余数之和sum

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1257 题意:计算sigama(m%i)(1<=i<=n). 思路: 这样就简 ...

  3. BZOJ 1257 - 余数之和 - [CQOI2007]

    题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 题意: 给定正整数 $n,k$,求 $(k \bmod 1) + (k \bmod ...

  4. [bzoj] 1257 余数之和sum || 数论

    原题 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数. \(\sum^n_{i=1} ...

  5. bzoj 1257 余数之和 —— 数论分块

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 \( \sum\limits_{i=1}^{n}k\%i = \sum\limits_ ...

  6. BZOJ 1257 余数之和 题解

    题面 这道题是一道整除分块的模板题: 首先,知道分块的人应该知道,n/i最多有2*sqrt(n)种数,但这和余数有什么关系呢? 注意,只要n/i的值和n/(i+d)的值一样,那么n%i到n%(i+d) ...

  7. BZOJ 1257 余数之和sum(分块优化)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=46954 题意:f(n, k)=k mod 1 + k mod 2 ...

  8. 【BZOJ1257】【CQOI2007】余数之和sum

    Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, ...

  9. Bzoj 1257 [CQOI2007]余数之和 (整除分块)

    Bzoj 1257 [CQOI2007]余数之和 (整除分块) 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1257 一道简单题. 题目 ...

随机推荐

  1. Eclipse(Myeclipse)安装GoogleGWT

    1,下载gpe http://code.google.com/p/googleappengine/并安装. 2,下载gwt http://code.google.com/intl/zh-CN/webt ...

  2. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计 系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立 ...

  3. iOS开发-No matching provisioning profiles found解决方法

    今天真机调试的时候莫名其妙遇到了这种一个问题: This product type must be built using a provisioning profile, however no pro ...

  4. POJ3723 Conscription

    http://poj.org/problem?id=3723 这题虽然简单,但是还是错了很多次. 因为这题构建的图可能是不连通的.也就是说可能有很多棵树. 所以我以前写的并查集用在这上面会出问题的. ...

  5. C# 该行已经属于还有一个表 的解决方法

    产生错误的代码: DataTable dtContract_src = Oper.GetDataTable("select * from T_Contract where ProjectID ...

  6. Stream流的读取使用

    这个是在现在的项目里,用到的知识点,一般用不到这些..所以想着还是记下来以后用. 针对文本流 //StreamReader sr = new StreamReader(mystream,Encodin ...

  7. HTML特效代码大全

    1)贴图:<img src="图片地址">2)加入连接:<a href="所要连接的相关地址">写上你想写的字</a>1)贴 ...

  8. php三个执行命令函数

    今天第一次知道php也可以执行window命令: exec system echo ``  两个是反的单引号 通过个人测试是可以的,貌似只能在本地

  9. discuz论坛几种安全策略(二)

    大头看了我给的方案,http://www.cnblogs.com/itsmylife/p/4012000.html 今早给的回复如下: “ 补充几点,供参考: 第一条,配置一下允许上传文件的格式以及大 ...

  10. LINQ高级编程 笔记

    相关资料:http://www.cnblogs.com/lifepoem/archive/2011/12/16/2288017.html 1.什么是LINQ 语言集成查询是一系列标准查询操作符的集合, ...