P2261 [CQOI2007]余数求和
我是题面
题意还是很清晰,很容易理解
1e9范围明显不能暴力,除非你能把常数优化到\(\frac1 {10}\),但我实在想象不到用了这么多取模怎么把常数优化下去
我们可以把\(k\%i\)变成\(k-k/i*i\)(整除)
那么总的和也就从\(\sum_{i=1}^{n}k\%i\)变成了\(\sum_{i=1}^n k-k/i*i\),又可以转化为\(nk-\sum_{i=1}^n k/i*i\)
\(k/i\)的值只有有\(\sqrt k\)种,且相同的值都是连续出现的,所以我们可以直接利用等差数列求\(\sum_{i=1}^n k/i*i\)
下面放代码吧
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cctype>
#define ll long long
#define gc getchar
using namespace std;inline ll read(){ll a=0;int f=0;char p=gc();while(!isdigit(p)){f|=p=='-';p=gc();}while(isdigit(p)){a=(a<<3)+(a<<1)+(p^48);p=gc();}return f?-a:a;
}ll n,k,ans;int main(){n=read();k=read();for(int l=1,r;l<=n;l=r+1){if(k/l)r=min(k/(k/l),n);else r=n;ans+=k/l*(r-l+1)*(l+r)/2;}ans=n*k-ans;printf("%lld\n",ans);return 0;
}
不要抄袭哦
转载于:https://www.cnblogs.com/hanruyun/p/10296261.html
P2261 [CQOI2007]余数求和相关推荐
- P2261 [CQOI2007]余数求和 整除分块
传送门 文章目录 题意: 思路: 题意: n,k≤1e9n,k\le1e9n,k≤1e9 思路: 考虑转换式子,∑i=1nkmodi=∑i=1n(k−⌊ki⌋∗i)=n∗k−∑i=1n⌊ki⌋∗i\s ...
- 洛谷 P2261 [CQOI2007]余数求和 解题报告
P2261 [CQOI2007]余数求和 题意: 求\(G(n,k)=\sum_{i=1}^n k \ mod \ i\) 数据范围: \(1 \le n,k \le 10^9\) \(G(n,k)\ ...
- 洛谷 P2261 [CQOI2007]余数求和
题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数. ...
- [CQOI2007]余数求和
题目链接:[CQOI2007]余数求和 题意:求$\sum_{i=1}^{n}k\ mod \ i$ 式子的变形比较常规 $$\sum_{i=1}^{n}k\ mod \ i=\sum_{i=1}^{ ...
- Luogu2261 [CQOI2007]余数求和
题目蓝链 Description 定义函数\(G(n, k) = \sum\limits_{i = 1}^{n} k~mod~i\),给定\(n, k\),求函数\(G\)的值 \(n, k \leq ...
- 【数学】JZOJ_3912 洛谷_2261 超氧化钾/[CQOI2007]余数求和
题意 给出xxx和yyy,求∑i=1yx%i\sum_{i=1}^{y}x\%ii=1∑yx%i 思路 我们可以改写一下这个式子,根据取模运算,可以这样写 ∑i=1yx−i⌊x/i⌋\sum_{i= ...
- 【数论】数论分块(详细,小白):余数求和约数研究
数论分块 标题数论分块是一种非常重要的思想.就是对于一些表达式,它的值只有sqrt(n)种,那么我们就对于这sqrt(n)种数值进行分块,然后暴力算即可. 简单来说就是: 把一个数列分成一块一块的区域 ...
- BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】
1257: [CQOI2007]余数之和sum Time Limit: 5 Sec Memory Limit: 162 MB Submit: 4474 Solved: 2083 [Submit][ ...
- 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)
文章目录 前提知识复习 T1:余数求和 title solution code T2:Ice Rain title solution code T3:The Fool title solution c ...
最新文章
- quasar_Quasar和Akka –比较
- Delphi从Internet下载文件
- python写订单管理系统_利用Python快速搭建钉钉和邮件数据推送系统
- iOS Winding Rules 缠绕规则
- 为什么说边缘计算的发展比5G更重要?
- flask程序打包部署_如何使用Flask构建Web应用程序并将其部署到云中
- Spring AOP技术(基于AspectJ)的Annotation开发
- 第一次c++上机实验
- 全英文文献翻译 | 遥感技术在绘制中国与东南亚地区岩溶地质的系列地图中的应用
- ansa导入catia模型_CATIA模型导入ADAMS的经验
- C语言新手入门贪吃蛇的链表实现-控制光标位置,流畅不闪屏
- linux如何连接蓝牙音箱,蓝牙音箱在Ubuntu 16.04中没有声音
- ih5长图如何滑动_iH5中级教程:微场景H5必备,横向滑动切换
- 用例建模指南lt;二gt;
- ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points
- 【Java】用PriorityQueue优先队列实现最小堆和最大堆
- java 面试题带答案,大量教程
- Python玩耍:一个小小的爬虫,在一堆公司列表里筛选出总部位于中国的公司
- 阿里云医疗实体关系抽取大赛
- vb播放声音程序代码
热门文章
- QtCreator动态编译jsoncpp完美支持x86和arm平台
- java basicstroke_使用java.awt.BasicStroke动画化虚线
- datax 持续数据同步_Datax 数据同步
- python的标准库turtle_Python标准库: turtle--海龟绘图。
- python怎么做彩票概率_用Python一次性把论文作图与数据处理全部搞定!
- mysql统计出每个姓氏的人数_你见过什么偏僻的姓氏?明明是老虎的虎姓氏却读māo...
- win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护
- 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?
- linux停止mysql后又自己启动,Linux上 mysql启动/停止/重启/开机启动/开机禁止启动...
- java如何恢复成eclipse项目,清理一下垃圾,Eclipse里面的项目全部不见了,怎么恢复...