BZOJ 1257: [CQOI2007]余数之和sum [分块]【数学】
来源:互联网 发布:中级会计师网校 知乎 编辑:程序博客网 时间:2024/05/29 16:28
题目连接:https://vjudge.net/problem/HYSBZ-1257
———————————————————————————————————-.
1257: [CQOI2007]余数之和sum
Time Limit: 5 Sec Memory Limit: 162 MB
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
———————————————————————————————————–.
暴力来看就是for(int i=1;i<=n;i++) ans += k%i;
对于i>k的时候结果都是0,所以开始是ans+=(a-b)*b,a=b;
然后就是计算
然后我们可以发现测试发现其实应该是
对于for(int i=1;i<=k;i++) ans += k%i;
分成求解
附本题代码
———————————————————————————————————–.
LL a,b,ans;void work(){ ans = 0; cin>>a>>b; if(a>b) ans +=(a-b)*b,a=b; for(int i=1,j;i<=a;i=j+1){ j=b/(b/i); if(j>=a) j=a; ans+=(LL)(j-i+1)*b-(LL)(j-i+1)*(i+j)/2*(b/i); //i~j就是一个块 } cout<<ans<<endl;}int main(){ work(); return 0;}
- bzoj 1257: [CQOI2007]余数之和sum 【数学 分块统计】
- BZOJ 1257: [CQOI2007]余数之和sum [分块]【数学】
- bzoj 1257: [CQOI2007]余数之和sum 数学
- BZOJ 1257: [CQOI2007]余数之和sum 分块计算,基础数论
- 【分块】BZOJ 1257 [CQOI2007]余数之和sum题解
- bzoj 1257 [CQOI2007]余数之和sum 数学,分段优化
- BZOJ 1257 [CQOI2007]余数之和sum 题解
- bzoj 1257 [CQOI2007] 余数之和 sum 题解
- BZOJ 1257: [CQOI2007]余数之和sum
- 【BZOJ 1257】 [CQOI2007]余数之和sum
- 【BZOJ 1257】 [CQOI2007]余数之和sum
- bzoj 1257: [CQOI2007]余数之和sum
- bzoj 1257: [CQOI2007]余数之和sum
- bzoj 1257: [CQOI2007]余数之和sum
- BZOJ 1257 [CQOI2007]余数之和sum
- 【BZOJ 1257】[CQOI2007]余数之和sum
- 【BZOJ 1257】[CQOI2007]余数之和sum
- BZOJ 1257 [CQOI2007]余数之和sum 数论
- PLSQL连接远程仓库的配置
- QPainter::setFont: Painter not active和 QPainter::setPen: Painter not active
- 画板实现小案例
- 配置spring事务管理的几种方式(声明式事务)----使用tx标签配置的拦截器
- Java基础(三) Java变量、操作符及判断和循环语句之(二)
- BZOJ 1257: [CQOI2007]余数之和sum [分块]【数学】
- jquery拖拽方块效果
- opencv之分水岭算法watershed源码注释
- 阿里巴巴Java开发手册(开发规范)(节选)
- 堆相关
- Android仿微信朋友圈,全文收起功能,附源码
- Java的动态绑定机制
- 蓝桥杯 2015 省赛 1 方程整数解
- 用npm来部署快速一个httpweb服务器