洛谷P2261 [CQOI2007] 余数求和

news/2025/9/22 12:48:47/文章来源:https://www.cnblogs.com/kibrel/p/19104950

原题

题目描述

给出正整数\(n\)\(k\), 请计算

\[G(n, k) = \sum_{i=1}^{n} k \bmod i \]

其中\(k \bmod i\)表示k除以i的余数。

输入格式

输入只有一行两个整数,分别表示\(n\)\(k\)

输出格式

输出一行一个整数表示答案。

数据规模与约定

  • 对于\(30%\)的数据,保证 \(n, k \leq 10^3\)
  • 对于\(60%\)的数据,保证 \(n, k \leq 10^6\)
  • 对于\(100%\)的数据,保证 \(1 \leq n, k \leq 10^9\)

整理&思路

这道题的常规暴力思路就是:

for(int i=1;i<=n;i++)sum+=k%i;

但是很明显,这道题没有这么简单。首先就是精度的问题,其次就是时间的问题——这样的O(n)太慢了。
这时候我们就可以利用这样的神秘小定理
首先 \(a \bmod b = a - b * \lfloor \frac{a}{b} \rfloor\),所以我们就可以得到这样的东西:

\[ans = \sum_{i=1}^{n} k - i * \lfloor \frac{k}{i} \rfloor = n * k - \sum_{i-1}^{n} i * \lfloor \frac{k}{i} \rfloor \]

显然\(\lfloor \frac{k}{i} \rfloor\)大约有\(\sqrt{k}\)种取值,所以就可以得到下面的代码,复杂度\(O(\sqrt{k})\)

#include<bits/stdc++.h>
#define int long long
using namespace std;int n, k;signed main() {scanf("%lld%lld",&n,&k);int sum=0;for(int l=1,r,t;l<=n;l=r+1)r=(t=k/l) ? min(k/t,n) : n,sum-=t*(r-l+1)*(l+r)>>1;printf("%lld",sum+n*k);return 0;
}

恭喜AC!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

负载排查和优化

负载排查和优化 Linux 网络优化与性能分析完全指南1️⃣ 中断与软中断基础 1.1 中断(IRQ)概念定义:CPU 在执行任务时,外设或内核事件请求 CPU 立即响应。作用:及时处理外设请求和系统事件,保证系统响应及时、稳定…

挑战骑行距离新记录:46公里

挑战骑行距离新记录:46公里周末要去江浦一趟,之前都是坐地铁转公交,这次突发奇想,干脆骑车去,反正时间比较充裕,于是早上8点半左右从住处出发,到中午11点53分到达,全长46公里左右(中间还走错一段路),用时3小…

arc206 总结

arc206 总结 这次前面切得比较快,然而 D 题漏了情况卡到最后也没过。E 题也属于中等难度的题。 A 枚举题目中的 \(L\),一个连续段只能有一个 \(L\),对答案的贡献为其后面不等于 \(a_L\) 的个数。 复杂度 \(O(n)\)。…

科研必读|提升酿酒酵母表达蛋白产量的关键技术

科研必读|提升酿酒酵母表达蛋白产量的关键技术酿酒酵母作为真核蛋白表达的经典宿主,其具有蛋白折叠、分泌途径、翻译后修饰(如糖基化、二硫键结合等)的能力,是许多科研与工业蛋白生产的首选平台。但实践中常遇到表…

【RK3576】【Android14】如何在Android14下单独编译kernel-6.1? - 详解

【RK3576】【Android14】如何在Android14下单独编译kernel-6.1? - 详解2025-09-22 12:41 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: au…

完整教程:栈与队列的实现方式与应用解惑

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:uniapp、devceo华为鸿蒙运行模拟器报错:未开启Hyper-V

完整教程:uniapp、devceo华为鸿蒙运行模拟器报错:未开启Hyper-Vpre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

深入解析:08_多层感知机

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

9.8C++作业 - 实践

9.8C++作业 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Co…

(一)React面试(虚拟DOM/类组件) - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

浏览器访问页面卡顿刷新页面方法

浏览器访问页面卡顿刷新页面方法浏览器访问页面卡顿刷新页面方法 同一个网址在一个浏览器中开了多个tab页窗口,会出现卡顿等转圈圈的现象 扩展浏览器缓存空间通过修改启动参数增加缓存容量: "C:\Program Files …

完整教程:散斑深度相机原理

完整教程:散斑深度相机原理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco",…

k8s Understanding Kubernetes Security Components

Understanding Kubernetes Security Components In Kubernetes, security is implemented through several components that work together to control access and permissions. Lets explore ServiceAccounts, Roles,…

如何用 Dify 无代码工作流实现 AI 自动化抓取与分析 LinkedIn 招聘数据

如何用 Dify 无代码工作流实现 AI 自动化抓取与分析 LinkedIn 招聘数据在本指南中,您将学习到以下内容:Dify 是什么? 为什么要将它与一体化搜索插件整合? 将 Dify 与 Bright Data 插件集成的优势 创建 Dify 搜索工…

2025/9/22

2025/9/22学习统一建模语言 学习数据结构,链表

WSL+共享文件夹搭建zephyr工作环境

之前使用window是编译,但是发现编译真的太慢了,所以还是尝试安装ubuntu来开发: 我这里有一个搭建好的,可以直接wsl安装,但是不支持完整的SDK工具,只支持esp32和arm sdk版本是 0.17.4,只安装了(arm,esp32, es…

如果 Spring Cloud Feign 配置了 OkHttp3 非阻塞 IO(NIO),那么还需要reactor 模型来提高性能吗

目录先明确核心区别:OkHttp3与Reactor模型的定位为什么可能还需要Reactor模型?何时需要引入Reactor?何时可以不引入Reactor?总结 如果 Spring Cloud Feign 配置了 OkHttp3 非阻塞 IO(NIO),那么还需要reactor 模…

数据结构-单链表基础2

0.基本结构和函数 前置内容,可以访问数据结构-单链表基础1点击查看代码 typedef int ElemType; typedef struct LNode {ElemType data;struct LNode *next; } LNode, *linkList; void CreateList_R(linkList *L, int …

LLM的MCP协议通讯方式详解:Stdio、SSE与流式HTTP的选择与实践 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Trellix自动化大规模修复开源漏洞,已修补超6万个项目

Trellix通过自动化工具加速修复Python的tarfile模块中存在15年的路径遍历漏洞(CVE-2007-4559),已成功修补61,895个开源项目,并与GitHub合作实现大规模批量拉取请求的自动化修复流程。Trellix自动化大规模修复开源漏…