算法-数论

 C-小红的数组查询(二)_牛客周赛 Round 95

 思路:不难看出a数组是有循环的

d=3,p=4时,a数组:1、0、3、21、0、3、2.......  最小循环节为4,即最多4种不同的数

d=4,p=6时,a数组:1、5、31、5、3.......最小循环节为3

d=4,p=10时,a数组:1、5、9、3、71、5、9、3、7.......最小循环节为5

可以得出,最小循环节T=p / gcd(d,p)

 

ans=min(询问的区间长度,最小循环节)

ans=min(r-l+1,T)

特殊情况:p=1时,a数组:1、0、0、0........(任何数对1取模均为0)

l=1,r>1时,ans=2

其余,ans=1

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {ll d,p,q;cin>>d>>p>>q;// 将d对p取模,因为后续的计算是基于模p的d = d % p;// 计算d和p的最大公约数gll g = __gcd(d, p);// 计算T,即周期长度,T = p / gll T = p / g;// 处理q次询问while (q--) {ll l, r;cin >> l >> r;// 特殊情况:如果p == 1,那么所有元素都是0(因为任何数mod 1都是0)if (p == 1) {// 如果区间长度大于1,那么只有0和1两种元素(因为a1=1,其他都是0)ll ans = 1;if (l == 1 && r > 1) {ans++;}cout << ans << endl;continue;}// 计算区间内的元素种类数// 如果区间长度小于T,那么元素种类数就是区间长度,// 否则,元素种类数就是Tcout << min(r - l + 1, T) << endl;}
}

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

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

相关文章

CSS中text-align: justify文本两端对齐

text-align: justify; 是 CSS 中用于控制文本对齐方式的属性值&#xff0c;它的核心作用是让文本两端对齐&#xff08;分散对齐&#xff09;&#xff0c;使段落左右边缘整齐排列。以下是详细解析&#xff1a; 作用效果 均匀分布间距 浏览器会自动调整单词/字符之间的间距&#…

WebFuture:启动数据库提示: error while loading shared libraries: libaio.so.1问题处理

问题分析 当出现./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory这个错误时&#xff0c;这意味着 MySQL 服务器&#xff08;mysqld&#xff09;在启动过程中无法找到libaio.so.1这个共享库文件。li…

74常用控件_QSpacerItem的使用

目录 代码⽰例: 创建⼀组左右排列的按钮. Spacer 使⽤布局管理器的时候, 可能需要在控件之间, 添加⼀段空⽩. 就可以使⽤ QSpacerItem 来表⽰. 核⼼属性 属性说明width宽度height高度hData水平方向的 sizePolicy - QSizePolicy::Ignored&#xff1a;忽略控件的尺寸&#xf…

vmware 设置 dns

vmware 设置 dns 常用的 DNS&#xff08;Domain Name System&#xff09;服务器地址可以帮助你更快、更安全地解析域名。以下是一些国内外常用的公共 DNS 服务&#xff1a; 国内常用 DNS 阿里云 DNS IPv4: 223.5.5.5、223.6.6.6IPv6: 2400:3200::1、2400:3200:baba::1特点&am…

从一次日期格式踩坑经历,谈谈接口设计中的“约定大于配置“

从一次日期格式踩坑经历&#xff0c;谈谈接口设计中的"约定大于配置" 背景 最近在对接一个第三方接口时&#xff0c;遇到了一个有趣的"坑"。接口文档中要求传入一个符合 RFC3339 格式的日期时间字符串&#xff0c;格式示例为&#xff1a;2019-10-01T08:1…

高考数学易错考点01 | 临阵磨枪

文章目录 前言集合与函数不等式数列三角函数 前言 本篇内容下载于网络&#xff0c;网络上的都是以 WORD 版本呈现&#xff0c;缺字缺图很不完整&#xff0c;没法使用&#xff0c;我只是做了补充和完善。有空准备进行第二次完善&#xff0c;添加问题解释的链接。 集合与函数 …

YOLO12 改进|融入 Mamba 架构:插入视觉状态空间模块 VSS Block 的硬核升级

在医学图像分割领域&#xff0c;传统卷积神经网络&#xff08;CNNs&#xff09;受限于局部感受野&#xff0c;难以捕捉长距离依赖关系&#xff0c;而基于 Transformer 的模型因自注意力机制的二次计算复杂度&#xff0c;在处理高分辨率图像时效率低下。近年来&#xff0c;状态空…

MATLAB遍历生成20到1000个节点的无线通信网络拓扑推理数据

功能&#xff1a; 遍历生成20到1000个节点的无线通信网络拓扑推理数据&#xff0c;包括网络拓扑和每个节点发射的电磁信号&#xff0c;采样率1MHz/3000&#xff0c;信号时长5.7s&#xff0c;单帧数据波形为实采 数据生成效果&#xff1a; 拓扑及空间位置&#xff1a; 节点电磁…

oss:上传图片到阿里云403 Forbidden

访问图片出现403Forbidden问题&#xff0c;我们可以直接登录oss账号&#xff0c;查看对应权限是否开通&#xff0c;是否存在跨域问题

香橙派3B学习笔记8:snap安装管理软件包_打包俩个有调用的python文件

现在尝试一下打包多个有互相调用的 py程序&#xff1a; ssh &#xff1a; orangepi本地ip 密码 &#xff1a; orangepi 操作系统发行版&#xff1a; 基于 Ubuntu 20.04.6 LTS&#xff08;Focal Fossa&#xff09;的定制版本&#xff0c;专门为 Orange Pi 设备优化。PRETTY_NAM…

Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南

Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南 在金融行业安全审计中&#xff0c;未启用HTTPS的Web应用被列为高危漏洞。通过正确配置HTTPS&#xff0c;可将中间人攻击风险降低98%——本文将全面解析Spring Boot中HTTPS的实现方案与实战避坑指南。 一、HTTPS 核心原理与…

前端对WebSocket进行封装,并建立心跳监测

WebSocket的介绍&#xff1a; WebSocket 是一种在客户端和服务器之间进行全双工、双向通信的协议。它是基于 HTTP 协议&#xff0c;但通过升级&#xff08;HTTP 升级请求&#xff09;将连接转换为 WebSocket 协议&#xff0c;从而提供更高效的实时数据交换。 WebSocket 的特点…

【AI】智驾地图在不同自动驾驶等级中的作用演变

一、功能价值动态模型&#xff1a;基于自动驾驶等级的权重迁移 功能演变四阶段&#xff1a; █ 辅助阶段&#xff08;L2&#xff09;&#xff1a;单功能补足 → █ 拓展阶段&#xff08;L2 NOA&#xff09;&#xff1a;多模态增强 → █ 融合阶段&#xff08;L3&#xff09;…

Java处理字符数组转换为开始日期和结束日期

在Java中处理字符数组表示的TransactionTime&#xff08;例如["2025-06-01","2025-06-10"]&#xff09;&#xff0c;将其转换为开始时间和结束时间&#xff0c;推荐使用Java 8的java.time API&#xff08;如LocalDate&#xff09;。以下是完整代码示例&…

【笔记】Poetry虚拟环境创建示例

#工作记录 【笔记】结合 Conda任意创建和配置不同 Python 版本的双轨隔离的 Poetry 虚拟环境-CSDN博客 在PowerShell中&#xff1a; Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improv…

20242817李臻-安全文件传输系统-项目验收

安全文件传输系统项目报告 项目概述 本实验旨在设计并实现一个完整的安全文件管理系统&#xff0c;基于SM2SM3SM4混合密码体系&#xff0c;构建了一个具备高安全性的C/S架构文件传输平台。项目采用C/S架构&#xff0c;使用Qt框架开发&#xff0c;满足Linux系统调用、Socket网…

2025年- H76-Lc184--55.跳跃游戏(贪心)--Java版

1.题目描述 2.思路 只要是在最大覆盖范围覆盖了&#xff0c;就是覆盖了。 局部最优&#xff1a;每遍历一个元素取它最大的覆盖范围 全局最优&#xff1a;在这个序列里&#xff0c;可以得到最大的覆盖范围。如果覆盖范围能达到最后一个元素&#xff0c;就是全局最优 &#xff0…

05.查询表

查询表 字段显示可以使用别名: col1 AS alias1, col2 AS alias2, … WHERE子句:指明过滤条件以实现“选择"的功能: 过滤条件: 布尔型表达式算术操作符:,-,*,/,%比较操作符:,<>(相等或都为空),<>,!(非标准SQL),>,>,<,<范围查询: BETWEEN min_num …

Python学习——数组的行列互换

数组的行列互换 data [ [col for col in range (4)] for row in range (4)] for row in data: print (row) print(“--------------”) for r_index,row in enumerate(data): for c_index in range (r_index,len(row)): tmp data [c_index] [r_index] data[c_index] [r_index…

bugku 应急加固1

Linux的应急加固 一、JS劫持 获取JS劫持域名 JS劫持&#xff0c;JavaScript Hijacking介绍&#xff1a; 攻击者通过某种方式篡改网页中的JavaScript代码&#xff0c;从而使网页跳转到恶意域名。 常见攻击方式有&#xff1a; 中间人攻击&#xff0c;在网络传输过程中拦截并修…