被zcr和yy轮流嘲讽了一番,感觉自己智商日渐下降。。。\TヘTツ

先拆mod变成整数除法,然后就是$nk- \Sigma_{i=1}^{n} i * \lfloor \frac{k}{i} \rfloor$。求后面那个。

然后发现$\lfloor \frac{k}{i} \rfloor$是连续且单调不增的。对于$x$,$[x,\lfloor \frac{k}{\lfloor \frac{k}{i} \rfloor} \rfloor]$内这个商是一样的。可以意会。

这个是找规律得到的,不会证QWQ。于是每一小段一样的商乘以这一段的每一个$i$累加。

复杂度是在$i \leq \sqrt{k}$时有$\sqrt{k}$种商。$i \geq \sqrt{k}$时的商小于$\sqrt{k}$,也最多$\sqrt{k}$种。于是复杂度是根号的。


WA:关于longlong的事以及每次区间右端点要判是否超过$n$。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;
template<typename T>inline T _min(T A,T B){return A<B?A:B;}
template<typename T>inline T read(T&x){
x=;int f=;char c;while(!isdigit(c=getchar()))if(c=='-')f=;
while(isdigit(c))x=x*+(c&),c=getchar();return f?x=-x:x;
}
inline ll sum(ll i,ll j){return (i+j)*(j-i+)/;}
ll ans,n,k; int main(){//freopen("test.in","r",stdin);//freopen("test.out","w",stdout);
read(n),read(k);ans=n*k;(n>k)&&(n=k);
for(register ll i=,r=;i<=n;i=r+)ans-=sum(i,r=_min(n,k/(k/i)))*(k/i);
return printf("%lld\n",ans),;
}

最新文章

  1. Python类中super()和__init__()的关系
  2. C# 调用一个按钮的Click事件(利用反射)
  3. 【CodeForces 672B】Different is Good
  4. meta标签详解(meta标签的作用)///////////////////////////转
  5. Android四大组件之Activity(活动)及其布局的创建与加载布局
  6. C#基础总结之五Dictionary&lt;string, string[]&gt;和while循环
  7. Reverse Integer [LeetCode]
  8. xy
  9. WebForm中如何防止页面刷新,后退导致的重复提交
  10. 关于call 与 apply 那些事
  11. Java眼中的XML文件写入
  12. (NO.00005)iOS实现炸弹人游戏(四):游戏数据的初始化(一)
  13. 关于Java的散列桶, 以及附上一个案例-重写map集合
  14. 在HyperLedger Fabric中启用CouchDB作为State Database
  15. Android-shape圆形&amp;转圈圈
  16. swift面向协议编程
  17. istio 服务地图
  18. DJANGO ADMIN 一些有用的设置(转)
  19. SVG渲染顺序及z轴显示问题(zIndex)
  20. 富文本存储型XSS的模糊测试之道

热门文章

  1. C#设置Cookies .
  2. C++ 11的移动语义
  3. 针对yarn的8088端口攻击
  4. NOIP2017 D2T3 题解
  5. LOJ576 「LibreOJ NOI Round #2」签到游戏
  6. python协程gevent案例:爬取斗鱼美女图片
  7. 十大经典排序算法(Python,Java实现)
  8. MySQL性能优化(四):SQL优化
  9. 导出excel-NPOI
  10. C#控制台输入/输出语句