《算法竞赛进阶指南》0x32约数 余数之和
Posted randy-lo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《算法竞赛进阶指南》0x32约数 余数之和相关的知识,希望对你有一定的参考价值。
题目链接:https://www.acwing.com/problem/content/201/
求k对1-n所有数取模的和。
证明一段可以作为等差数列来求,证明如下:(转自ACwing)
代码如下:
#include<iostream> using namespace std; typedef long long ll; int main(){ int n,k; cin>>n>>k; ll ans=n*k; for(int l=1,r=0;r<=n;r=l+1) { r=min(n,(int)k/(k/l)); ans-=1ll*(k/l)*(l+r)*(r-l+1)/2; } cout<<ans<<endl; }
以上是关于《算法竞赛进阶指南》0x32约数 余数之和的主要内容,如果未能解决你的问题,请参考以下文章
《算法竞赛进阶指南》-AcWing-97. 约数之和 Sumdiv-题解
《算法竞赛进阶指南》-AcWing-97. 约数之和 Sumdiv-题解