BZOJ 1257 余数之和sum (取模原理+分块)
来源:互联网 发布:linux 复制文件 编辑:程序博客网 时间:2024/06/05 11:41
思路:
考虑取模的原理:
如果你对莫比乌斯反演中的分块很熟悉的话,那么你一眼就能看出来:k/i的值最多只有2*sqrt(k)个,所以我们只需sqrt(n)的时间就可以完成。而且i的前缀和也不需要预处理,直接公式就有了。
#include<stdio.h>#include <iostream>#include<string.h>#include<math.h>#include<algorithm>#define eps 1e-8typedef long long int lli;using namespace std;const int maxn = 1e6+10;int main(){ lli p,q; lli a,b,k,n; scanf("%lld%lld",&n,&k); lli ans = n*k,l,len = min(n,k); for(lli i = 1;i <= len;i=l+1){ l = min(k/(k/i),len); ans += -(k/i)*((l+i)*(l-i+1)/2); } printf("%lld\n",ans); return 0;}
阅读全文
1 0
- BZOJ 1257 余数之和sum (取模原理+分块)
- bzoj 1257: [CQOI2007]余数之和sum 【数学 分块统计】
- BZOJ 1257: [CQOI2007]余数之和sum [分块]【数学】
- BZOJ 1257: [CQOI2007]余数之和sum 分块计算,基础数论
- 【分块】BZOJ 1257 [CQOI2007]余数之和sum题解
- bzoj 1257:余数之和sum
- BZOJ 1257 余数之和sum (思维 数学 分段)
- BZOJ 1257 [CQOI2007]余数之和sum 题解
- bzoj 1257 [CQOI2007] 余数之和 sum 题解
- BZOJ 1257: [CQOI2007]余数之和sum
- 【BZOJ 1257】 [CQOI2007]余数之和sum
- 【BZOJ 1257】 [CQOI2007]余数之和sum
- bzoj--1257--余数之和sum(数学)
- bzoj 1257: [CQOI2007]余数之和sum
- bzoj 1257: [CQOI2007]余数之和sum
- bzoj 1257: [CQOI2007]余数之和sum
- BZOJ 1257 [CQOI2007]余数之和sum
- 【BZOJ 1257】[CQOI2007]余数之和sum
- uva1611
- 上周热点回顾(7.10-7.16)
- SuperMap GIS 8C(2017)产品体系介绍
- [BZOJ1764][USACO MAR11银组]聚会地点
- C/C++面试题:构造函数与析构函数
- BZOJ 1257 余数之和sum (取模原理+分块)
- Java30天笔记-HTTP协议
- 使用Java多线程优化基于TCP协议的Server
- NodeJs--事件驱动(EventEmitter)
- Java语言如何与其他语言进行交互(主要是c/c++)?以及JNI是什么
- 点双连通分量 [HNOI2012]矿场搭建
- oracle11g的安装中遇到未找到文件wfmlrsvcapp.ear报错
- Prime Gap (素数)
- 【SSLGZ 2675】2017年8月9日提高组T3 难题