【洛谷】P2261 [CQOI2007]余数求和
2024-08-26 13:11:10
题面??
我这个咕儿终于在csp初赛前夕开始学习数论了!
我是绝对不会承认之前不学数学是因为去年刚开始学OI的时候就跟yyq他们学莫比乌斯反演然后自闭的
分析
对于k mod i,可以表示为$k-(k/i)*i$
所以答案就为
$$\sum_{i=1}^n k-(k/i)i$$
$$=nk-\sum_{i=1}^n (k/i)i$$
$\sum_{i=1}^n (k/i)i$这个东西可以用整除分块优化加上高斯求和搞(说得很高级似的
剩下的就很容易了
哇卡卡卡我总算学会用数学公式了
Code
#include<cstdio>
#include<algorithm>
using namespace std;
long long ans,n,k,l,r;
int main()
{
scanf("%lld%lld",&n,&k);
while(r<=n)
{
l=r+;if(k/l==)break;r=k/(k/l);
ans+=1ll*(l+min(n,r))*(min(r,n)-l+)*(k/l)/;
}
printf("%lld\n",n*k-ans);
}
最新文章
- Quart.NET实施参考
- 浏览器-03 WebKit 渲染1
- GPS部标平台的架构设计(二) 可扩展性设计
- Echarts-画柱状,折线图
- EF 自定义校验设置和捕获异常
- JDBC中的批量插入和乱码解决
- 【Python Lib】解析HTML利器 BeautifulSoup
- sourcetree下回退
- Codeforces Round #226 (Div. 2 )
- ubuntu 源码安装 swig
- Android模拟器PANIC: Could not open:问题解决方法
- JVM性能调优,GC
- C# 获取当前服务器域名
- pythonic(fork)
- 一条sql语句引发的遐想:select t.*, t.rowid from STUDENT t
- ES6--JavaScript的第六个版本
- MySQL案例-mysqld got signal 11
- Qt——布局管理器
- Mac服务管理-Launchd(转)
- ui-router参数传递