博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1257: [CQOI2007]余数之和sum - BZOJ
阅读量:5280 次
发布时间:2019-06-14

本文共 824 字,大约阅读时间需要 2 分钟。

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<=n, k<=1000 100%的数据满足:1<=n ,k<=10^9

 

枚举商,然后算出区间[l,r],商只有sqrt(n)个,就可以了

1 var 2     n,k,ans:int64; 3   4 procedure main; 5 var 6     i,l,r:int64; 7 begin 8     read(n,k); 9     i:=k div n;10     l:=k div(i+1)+1;11     r:=n;12     while l>0 do13         begin14             inc(ans,k*(r-l+1)-i*(l+r)*(r-l+1)>>1);15             if l=1 then break;16             i:=k div(l-1);17             l:=k div(i+1)+1;18             r:=k div i;19         end;20     writeln(ans);21 end;22  23 begin24     main;25 end.
View Code

 

转载于:https://www.cnblogs.com/Randolph87/p/3795732.html

你可能感兴趣的文章
[洛谷P1738]洛谷的文件夹
查看>>
ubuntu server设置时区和更新时间
查看>>
【京东咚咚架构演进】-- 好文收藏
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
jQuery之end()和pushStack()
查看>>
Bootstrap--响应式导航条布局
查看>>
Learning Python 009 dict(字典)和 set
查看>>
JavaScript中随着鼠标拖拽而移动的块
查看>>
HDU 1021 一道水题
查看>>
The operation couldn’t be completed. (LaunchServicesError error 0.)
查看>>
php每天一题:strlen()与mb_strlen()的作用分别是什么
查看>>
工作中收集JSCRIPT代码之(下拉框篇)
查看>>
《转载》POI导出excel日期格式
查看>>
code异常处理
查看>>
git - 搭建最简单的git server
查看>>
会话控制
查看>>
推荐一款UI设计软件Balsamiq Mockups
查看>>
Linux crontab 命令格式与详细例子
查看>>
百度地图Api进阶教程-地图鼠标左右键操作实例和鼠标样式6.html
查看>>