BZOJ
Luogu
题意:求\(\sum_{i=1}^{n}k\%i\)

这道题被众多大佬认为是傻逼题(然而我还是WA了一次)

\[k\%i=k-\lfloor\frac ki\rfloor*i \]

还有人不会做吗

\[\sum_{i=1}^{n}k\%i=n*k-\sum_{i=1}^{n}\lfloor\frac ki\rfloor*i \]

还有人不会做吗
后面的直接数论分块一波就过去了啊
复杂度\(O(\sqrt n)\)

code

#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long
ll n,k,ans,i=1,j;
int main()
{
	scanf("%lld %lld",&n,&k);
	ans=n*k;
	while (i<=n&&i<=k)
	{
		j=min(n,k/(k/i));//注意这里取min(我就是这里WA的50分)
		ans-=(j+i)*(j-i+1)/2*(k/i);
		i=j+1;
	}
	printf("%lld\n",ans);
	return 0;
}

相关文章:

  • 2021-07-11
  • 2021-11-29
  • 2022-12-23
  • 2021-06-01
  • 2022-01-16
  • 2021-12-01
  • 2022-12-23
  • 2021-12-15
猜你喜欢
  • 2022-01-16
  • 2021-10-16
  • 2021-05-31
  • 2022-12-23
  • 2021-08-12
相关资源
相似解决方案