余数之和sum
来源:互联网 发布:怎么查淘宝消费记录 编辑:程序博客网 时间:2024/06/05 18:31
余数之和sum
Time Limit:5000MS Memory Limit:165888KB 64bit IO Format:%lld & %llu
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)。
Sample Input
5 3
Sample Output
7
Hint
50%的数据满足:1<=n, k<=1000 100%的数据满足:1<=n ,k<=10^9
Source
CQOI2007
意解: 晕..........打表找规律,加暴力对拍,终于A了,打完表后会发现其实解的集合是分块的.并且是形成等差数列;
AC代码:
意解: 晕..........打表找规律,加暴力对拍,终于A了,打完表后会发现其实解的集合是分块的.并且是形成等差数列;
AC代码:
#include <iostream>#include <cstdio>using namespace std;typedef long long ll;int main(){ ll n,m,ans1,ans2,len,now,L,R,t; while(~scanf("%lld %lld",&n,&m)) { ans1 = ans2 = 0; t = 1; /*for(int i = 1; i <= n; i++) ans1 += m % i;*/ if(n >= m) ans2 = (n - m) * m,n = m; /*for(int i = 1; i <= m; i++) cout<<i<<":"<<m % i<<endl;*/ L = 0; now = m; while(true) { t++; R = m / t + 1; if(R > now) break; if(R > n) { now = m / t; L = m % now; continue; } len = now - R + 1; R = L + (len - 1) * (t - 1); if(now > n) { L = m % n; len = n - m / t; } ans2 += (R + L) * len / 2; now = m / t; if(!now) break; L = m % now; } for(int i = min(now,n); i >= 2; i--) //提前跳出来的数有可能大于n; ans2 += m % i; cout<<ans2<<endl; }}
0 0
- 余数之和sum
- BZOJ1257余数之和sum
- BZOJ1257 余数之和sum
- BZOJ1257 [CQOI2007]余数之和sum
- bzoj1257: [CQOI2007]余数之和sum
- [BZOJ1257][CQOI2007]余数之和sum
- bzoj1257 余数之和sum 数论
- bzoj1257: [CQOI2007]余数之和sum
- bzoj 1257:余数之和sum
- Bzoj1257[CQOI2007]余数之和sum
- [bzoj1257][CQOI2007]余数之和sum
- 【bzoj1257】【CQOI2007】【余数之和】【sum】
- BZOJ1257余数之和sum+数学
- 1257: [CQOI2007]余数之和sum
- BZOJ1257: [CQOI2007]余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum
- bzoj1257[CQOI2007] 余数之和sum
- 【bzoj1257】[CQOI2007]余数之和sum
- 《异常处理》试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- 网页设计、web前端、后台的开发流程和注意事项
- markdown语法简介
- <十>读<<大话设计模式>>之观察者模式
- ASP.NET动态网站开发培训-12.FormView控件
- 余数之和sum
- Linux export命令
- Pinyin4j 详解及使用
- 矩阵交换行
- gconf-editor配置CentOS文件夹侧窗格显示
- VC 纯资源DLL制作及调用
- mapreduce自定义输入
- 文件操作函数 C语言 (FILE fputc fgetc fputs fgets fscanf fprintf)
- 异常细胞检测