码迷,mamicode.com
首页 > 其他好文 > 详细

BZOJ1257 [CQOI2007] 余数之和sum

时间:2016-03-10 22:04:00      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1257

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)。

Orz教主我看到题全不会做照着教主的题解打的……

http://www.cnblogs.com/JSZX11556/p/4685732.html

事实证明我只适合做个文化课选手,今天在颓废准备退役

技术分享

技术分享
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 using namespace std;
 6 typedef long long ll;
 7 int n,k; ll ans = 0;
 8 int main(){
 9     scanf("%d%d",&n,&k);
10     if (n >= k) ans += (ll) (k) * (n - k), n = k - 1;
11     for(int l = 1; l <= n;){
12         int t = k / l, r = t ? k / t : n;
13         if (r > n) r = n;
14         ans += (ll) (k) * (r - l + 1) - (ll) (t) * (l + r) * (r - l + 1) / 2;
15         l = r + 1;
16     }
17     printf("%lld\n",ans);
18     return 0;
19 }
View Code

 

BZOJ1257 [CQOI2007] 余数之和sum

标签:

原文地址:http://www.cnblogs.com/jimzeng/p/bzoj1257.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!