我是题面

题意还是很清晰,很容易理解

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]余数求和相关推荐

  1. P2261 [CQOI2007]余数求和 整除分块

    传送门 文章目录 题意: 思路: 题意: n,k≤1e9n,k\le1e9n,k≤1e9 思路: 考虑转换式子,∑i=1nkmodi=∑i=1n(k−⌊ki⌋∗i)=n∗k−∑i=1n⌊ki⌋∗i\s ...

  2. 洛谷 P2261 [CQOI2007]余数求和 解题报告

    P2261 [CQOI2007]余数求和 题意: 求\(G(n,k)=\sum_{i=1}^n k \ mod \ i\) 数据范围: \(1 \le n,k \le 10^9\) \(G(n,k)\ ...

  3. 洛谷 P2261 [CQOI2007]余数求和

    题目背景 数学题,无背景 题目描述 给出正整数n和k,计算G(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值,其中k mod i表示k除以i的余数. ...

  4. [CQOI2007]余数求和

    题目链接:[CQOI2007]余数求和 题意:求$\sum_{i=1}^{n}k\ mod \ i$ 式子的变形比较常规 $$\sum_{i=1}^{n}k\ mod \ i=\sum_{i=1}^{ ...

  5. Luogu2261 [CQOI2007]余数求和

    题目蓝链 Description 定义函数\(G(n, k) = \sum\limits_{i = 1}^{n} k~mod~i\),给定\(n, k\),求函数\(G\)的值 \(n, k \leq ...

  6. 【数学】JZOJ_3912 洛谷_2261 超氧化钾/[CQOI2007]余数求和

    题意 给出xxx和yyy,求∑i=1yx%i\sum_{i=1}^{y}x\%ii=1∑y​x%i 思路 我们可以改写一下这个式子,根据取模运算,可以这样写 ∑i=1yx−i⌊x/i⌋\sum_{i= ...

  7. 【数论】数论分块(详细,小白):余数求和约数研究

    数论分块 标题数论分块是一种非常重要的思想.就是对于一些表达式,它的值只有sqrt(n)种,那么我们就对于这sqrt(n)种数值进行分块,然后暴力算即可. 简单来说就是: 把一个数列分成一块一块的区域 ...

  8. BZOJ 1257: [CQOI2007]余数之和sum【神奇的做法,思维题】

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MB Submit: 4474  Solved: 2083 [Submit][ ...

  9. 数论分块专题复习(余数求和+模积和+Ice Rain+The Fool)

    文章目录 前提知识复习 T1:余数求和 title solution code T2:Ice Rain title solution code T3:The Fool title solution c ...

最新文章

  1. quasar_Quasar和Akka –比较
  2. Delphi从Internet下载文件
  3. python写订单管理系统_利用Python快速搭建钉钉和邮件数据推送系统
  4. iOS Winding Rules 缠绕规则
  5. 为什么说边缘计算的发展比5G更重要?
  6. flask程序打包部署_如何使用Flask构建Web应用程序并将其部署到云中
  7. Spring AOP技术(基于AspectJ)的Annotation开发
  8. 第一次c++上机实验
  9. 全英文文献翻译 | 遥感技术在绘制中国与东南亚地区岩溶地质的系列地图中的应用
  10. ansa导入catia模型_CATIA模型导入ADAMS的经验
  11. C语言新手入门贪吃蛇的链表实现-控制光标位置,流畅不闪屏
  12. linux如何连接蓝牙音箱,蓝牙音箱在Ubuntu 16.04中没有声音
  13. ih5长图如何滑动_iH5中级教程:微场景H5必备,横向滑动切换
  14. 用例建模指南lt;二gt;
  15. ExtremeNet:Bottom-up Object Detection by Grouping Extreme and Center Points
  16. 【Java】用PriorityQueue优先队列实现最小堆和最大堆
  17. java 面试题带答案,大量教程
  18. Python玩耍:一个小小的爬虫,在一堆公司列表里筛选出总部位于中国的公司
  19. 阿里云医疗实体关系抽取大赛
  20. vb播放声音程序代码

热门文章

  1. QtCreator动态编译jsoncpp完美支持x86和arm平台
  2. java basicstroke_使用java.awt.BasicStroke动画化虚线
  3. datax 持续数据同步_Datax 数据同步
  4. python的标准库turtle_Python标准库: turtle--海龟绘图。
  5. python怎么做彩票概率_用Python一次性把论文作图与数据处理全部搞定!
  6. mysql统计出每个姓氏的人数_你见过什么偏僻的姓氏?明明是老虎的虎姓氏却读māo...
  7. win10系统优化计算机,全面优化win10电脑系统详细教程 | 专业网吧维护
  8. 用matlab自己搭建bp神经网络,怎样在matlab里建立一个BP神经网络模型?
  9. linux停止mysql后又自己启动,Linux上 mysql启动/停止/重启/开机启动/开机禁止启动...
  10. java如何恢复成eclipse项目,清理一下垃圾,Eclipse里面的项目全部不见了,怎么恢复...