当前位置: 首页 > news >正文

数论分块

本质就是利用取整分数值的块状分布。

UVA11526 H(n)

题意: ∑ i = 1 n n i \sum_{i=1}^{n} \frac {n}{i} i=1nin

解析:

⌊ n i ⌋ \lfloor \frac{n}{i} \rfloor in 只有 O ( n ) O(\sqrt n) O(n ) 种取值,考虑将相同值同时处理。时间复杂度 O ( T n ) O(T\sqrt n) O(Tn )

对于 i i i,其块右端点 j j j 满足: j = ⌊ n ⌊ n i ⌋ ⌋ j = \lfloor \dfrac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor j=inn

证明:对所有 ⌊ n i ⌋ = k \lfloor \frac{n}{i} \rfloor=k in=k i i i:由 k ≤ n i k \le \frac{n}{i} kin,有 ⌊ n k ⌋ ≥ ⌊ n n i ⌋ = ⌊ i ⌋ = i \lfloor\frac{n}{k}\rfloor \ge \lfloor {\frac{n}{\frac n i}} \rfloor= \lfloor i \rfloor = i kninn=i=i

⌊ n k ⌋ \lfloor\frac{n}{k}\rfloor kn ⌊ n ⌊ n i ⌋ ⌋ \lfloor \frac{n}{\lfloor \frac{n}{i} \rfloor} \rfloor inn 即为该块所在右端点。

代码

[AHOI2005] 约数研究

考虑约数 i i i 1 ∼ n 1 \sim n 1n 中出现次数,即 i i i 的倍数个数,为 n i \frac{n}{i} in。答案即为 ∑ i = 1 n ⌊ n i ⌋ \sum_{i=1}^{n} \lfloor{\frac{n}{i}}\rfloor i=1nin

时间复杂度 O ( n ) O(\sqrt n) O(n )

代码

约数和

同样考虑约数的贡献,即求 ∑ i = 1 n i × ⌊ n i ⌋ \sum_{i=1}^{n} i \times \lfloor\frac{n}{i}\rfloor i=1ni×in

考虑到原式子 < ∑ i = 1 n n < \sum_{i=1}^n n <i=1nnlong long 即可。

时间复杂度 O ( n ) O(\sqrt n) O(n )

代码

[CQOI2007] 余数求和

∑ i = 1 n k m o d i = ∑ i = 1 n ( k − ⌊ k i ⌋ i ) = n k − ∑ i = 1 n ⌊ k i ⌋ i \sum_{i=1}^n k \bmod i \\ =\sum_{i=1}^n (k - \lfloor{\frac{k}{i}}\rfloor i) \\ =nk-\sum_{i=1}^n \lfloor{\frac{k}{i}}\rfloor i i=1nkmodi=i=1n(kiki)=nki=1niki

枚举到 k k k 即可, n , k n,k n,k 同阶时时间复杂度 O ( n ) O(\sqrt n) O(n )

CF1485C Floor and Mod

妙。

法一

⌊ a b ⌋ = a m o d b \lfloor \frac{a}{b} \rfloor = a\bmod b ba=amodb

⌊ a b ⌋ = a − ⌊ a b ⌋ b \lfloor \frac{a}{b} \rfloor = a - \lfloor \frac{a}{b} \rfloor b ba=abab

⌊ a b ⌋ = a b + 1 \lfloor \frac{a}{b} \rfloor = \frac{a}{b+1} ba=b+1a

b + 1 ∣ a b+1 \mid a b+1a

⌊ a b ⌋ < b \lfloor \frac{a}{b} \rfloor < b ba<b,得 a < b 2 + b a < b^2+b a<b2+b

b + 1 ∣ a b+1 \mid a b+1a,由 a < b 2 + b a < b^2+b a<b2+b,得 b ∤ a b \nmid a ba,故 ⌊ a b ⌋ = a b + 1 \lfloor \frac{a}{b} \rfloor = \frac{a}{b+1} ba=b+1a

综上, b + 1 ∣ a b+1 \mid a b+1a a < b 2 + b a < b^2 + b a<b2+b 是原命题的一个充要条件。

答案即为
∑ b = 1 y min ⁡ ( x , b 2 + b − 1 ) b + 1 \sum_{b=1}^{y} \dfrac{\min(x,b^2+b-1)}{b+1} b=1yb+1min(x,b2+b1)

分段整除分块即可。

总结:根据整除关系、范围得到一些性质,从而找出充要条件。

代码

法二(官方做法)

⌊ a b ⌋ = a m o d b = k \lfloor \frac{a}{b} \rfloor = a\bmod b = k ba=amodb=k

a = k b + k a = kb + k a=kb+k

b + 1 = a k b+1=\frac{a}{k} b+1=ka

k < b k < b k<b,得 k + 1 < a k k+1<\frac a k k+1<ka,故 k k k 为根号级别。

枚举 k k k,考虑 b b b 的数量。可得 b ≤ x k − 1 b \le \frac x k - 1 bkx1,且 k < b ≤ y k < b \le y k<by

总结:观察 + 放缩 k k k 的范围。

代码

相关文章:

数论分块

本质就是利用取整分数值的块状分布。 UVA11526 H(n) 题意&#xff1a; 求 ∑ i 1 n n i \sum_{i1}^{n} \frac {n}{i} ∑i1n​in​。 解析&#xff1a; ⌊ n i ⌋ \lfloor \frac{n}{i} \rfloor ⌊in​⌋ 只有 O ( n ) O(\sqrt n) O(n ​) 种取值&#xff0c;考虑将相同值同…...

宏任务与微任务,代码执行顺序

js引擎工作进程是同步的。事件循环机制&#xff0c;事件队列。 脚本代码执行顺序&#xff0c;是先执行同步代码&#xff0c;遇到微任务&#xff0c;就把它推进任务队列中。每个宏任务完成后&#xff0c;再执行下一个宏任务。 宏任务有哪些&#xff1a; i/o读写 定时器setTi…...

正方形(Squares, ACM/ICPC World Finals 1990, UVa201)rust解法

有n行n列&#xff08;2≤n≤9&#xff09;的小黑点&#xff0c;还有m条线段连接其中的一些黑点。统计这些线段连成了多少个正方形&#xff08;每种边长分别统计&#xff09;。 行从上到下编号为1&#xff5e;n&#xff0c;列从左到右编号为1&#xff5e;n。边用H i j和V i j表示…...

【算法设计与分析qwl】伪码——顺序检索,插入排序

伪代码&#xff1a; 例子&#xff1a; 改进的顺序检索 Search(L,x)输入&#xff1a;数组L[1...n]&#xff0c;元素从小到大排序&#xff0c;数x输出&#xff1a;若x在L中&#xff0c;输出x位置下标 j ,否则输出0 j <- 1 while j<n and x>L[j] do j <- j1 if x<…...

Uniapp路由拦截-自定义路由白名单

步骤一:新建routerIntercept.js文件 步骤二:routerIntercept文件中写入:(根据自己需要修改whiteList白名单中的页面路径和自己的逻辑处理) import Vue from vue // 白名单 const whiteList = [/pages/public/login,/pages/public/privacyAgreement, ]export default asy…...

在中国可以使用 HubSpot 吗?

当谈到市场营销和客户关系管理工具时&#xff0c;HubSpot通常是一家企业的首选。然而&#xff0c;对于许多中国的企业来说&#xff0c;一个重要的问题是&#xff1a;在中国可以使用HubSpot吗&#xff1f;这个问题涉及到不同的方面&#xff0c;包括政策法规、社交媒体平台、语言…...

Java的基础应用

Java是一种广泛应用于软件开发的编程语言&#xff0c;基础应用涵盖了很多方面。以下是Java的一些基础应用方面的介绍&#xff1a; 1. 控制流语句&#xff1a;Java中的程序流程控制语句分为选择语句和循环语句。选择语句包括if-else语句和switch语句&#xff0c;循环语句包括fo…...

【excel】列转行

列转行 工作中有一些数据是列表&#xff0c;现在需要转行 选表格内容&#xff1a;在excel表格中选中表格数据区域。点击复制&#xff1a;在选中表格区域处右击点击复制。点击选择性粘贴&#xff1a;在表格中鼠标右击点击选择性粘贴。勾选转置&#xff1a;在选择性粘勾选转置选…...

用Bing绘制「V我50」漫画;GPT-5业内交流笔记;LLM大佬的跳槽建议;Stable Diffusion生态全盘点第一课 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f525; 美国升级AI芯片出口禁令&#xff0c;13家中国GPU企业被列入实体清单 nytimes.com/2023/10/05/technology/chip-makers-china-lobbying…...

Java身份证实名认证-阿里云API 【姓名、身份证号】

1. 阿里云API市场 https://market.aliyun.com/products/57126001/cmapi00053442.html?spm5176.2020520132.101.3.a6217218nxxEiy#skuyuncode47442000022 购买对应套餐 2. 复制AppCode https://market.console.aliyun.com/imageconsole/index.htm#/?_kl85e10 云市场-已购买服…...

ND协议——无状态地址自动配置 (SLAAC)

参考学习&#xff1a;计算机网络 | 思科网络 | 无状态地址自动配置 (SLAAC) | 什么是SLAAC_瘦弱的皮卡丘的博客-CSDN博客 与 IPv4 类似&#xff0c;可以手动或动态配置 IPv6 全局单播地址。但是&#xff0c;动态分配 IPv6 全局单播地址有两种方法&#xff1a; 如图所示&#…...

iOS开发UITableView的使用,区别Plain模式和Grouped模式

简单赘述一下 的创建步骤 // 创建UITableView self.tableView [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain]; // 设置数据源和代理 self.tableView.dataSource self; self.tableView.delegate self; // 注册自定义UITableViewCe…...

css美化滚动条

/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 8px; height: 8px; background-color: rgba(0,0,0,.2); } /*定义滚动条轨道 内阴影圆角*/ ::-webkit-scrollbar-track { -webkit-box…...

【CANoe】XML Test Module使用实例

文章目录 一、实操步骤1、增加XML Test Module节点2、配置XML Test Module节点3、XML Test Module节点增加CAPL脚本(.can文件)4、文件夹结构5、使用仿真节点开始测试6、测试结果与测试报告7、同理&#xff0c;在Test Setup也可如此操作 一、实操步骤 1、增加XML Test Module节…...

oracle的update语句where条件后的索引字段为空时不执行

问题描述&#xff1a; update 表名 set age ‘23’ where id1 and name‘lili’; 当在oracle执行以上sql时执行成功&#xff0c;但是当传入的name为null时&#xff0c;sql不成立。我的表中id和name是联合唯一索引&#xff0c;以为name不会为空&#xff0c;但实际上name可以为空…...

RabbitMQ的特点

RabbitMQ是一个开源的消息中间件&#xff0c;用于在不同的应用程序之间进行异步通信。它支持多种消息传递协议&#xff0c;如AMQP、MQTT、STOMP等。 RabbitMQ具有以下特点&#xff1a; 可扩展性&#xff1a;RabbitMQ可以通过添加更多的节点和队列来实现水平扩展。 可靠性&…...

JS单选框默认选中样式修改,为白色背景中心有黑色小圆点的样式

要修改JavaScript中默认选中的单选框的样式为白色背景并带有黑色小圆点&#xff0c;你可以使用CSS来实现。以下是一个示例&#xff0c;展示如何修改样式&#xff1a; <style>/* 修改默认选中单选框的样式 */input[type"radio"]:checked {appearance: none; /*…...

2023年下半年NPDP考试今天开始报名!

2023年第二次NPDP考试将于2023年12月2日&#xff08;周六&#xff09;举行&#xff0c;考试报名相关事项安排如下&#xff1a; 一、考试时间&#xff1a; 12月2日09:00-12:30。 二、报名时间&#xff1a; 10月18日08:00-11月10日23:59。 三、缴费及退考截止时间&#xff1…...

nfs+rpcbind实现服务器之间的文件共享

NFS简介 NFS服务及Network File System&#xff0c;用于在网络上共享存储&#xff0c;分为2,3,4三个版本&#xff0c;最新为4.1版本。NFS基于RPC协议&#xff0c;RPC为Remote Procedure Call的简写。 应用场景&#xff1a;用于A,B,C三台机器上需要保证被访问到的文件是一样…...

10-k8s-身份认证与鉴权

文章目录 一、ServiceAccount介绍二、ServiceAccount相关的资源对象三、dashboard空间示例 一、ServiceAccount介绍 ServiceAccount&#xff08;服务账户&#xff09;概念介绍 1&#xff09;ServiceAccount是Kubernetes集群中的一种资源对象&#xff0c;用于为Pod或其他资源提供…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

Docker拉取MySQL后数据库连接失败的解决方案

在使用Docker部署MySQL时&#xff0c;拉取并启动容器后&#xff0c;有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致&#xff0c;包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因&#xff0c;并提供解决方案。 一、确认MySQL容器的运行状态 …...

​​企业大模型服务合规指南:深度解析备案与登记制度​​

伴随AI技术的爆炸式发展&#xff0c;尤其是大模型&#xff08;LLM&#xff09;在各行各业的深度应用和整合&#xff0c;企业利用AI技术提升效率、创新服务的步伐不断加快。无论是像DeepSeek这样的前沿技术提供者&#xff0c;还是积极拥抱AI转型的传统企业&#xff0c;在面向公众…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...

【PX4飞控】mavros gps相关话题分析,经纬度海拔获取方法,卫星数锁定状态获取方法

使用 ROS1-Noetic 和 mavros v1.20.1&#xff0c; 携带经纬度海拔的话题主要有三个&#xff1a; /mavros/global_position/raw/fix/mavros/gpsstatus/gps1/raw/mavros/global_position/global 查看 mavros 源码&#xff0c;来分析他们的发布过程。发现前两个话题都对应了同一…...