蓝桥杯2023年第十四届省赛真题-平方差--题解
蓝桥杯2023年第十四届省赛真题-平方差
时间限制: 3s 内存限制: 320MB 提交: 2379 解决: 469
题目描述
给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x = y2 − z2。
输入格式
输入一行包含两个整数 L, R,用一个空格分隔。
输出格式
输出一行包含一个整数满足题目给定条件的 x 的数量。
样例输入
复制
1 5
样例输出
复制
4
提示
1 = 1^2 − 0^2 ;
3 = 2^2 − 1^2 ;
4 = 2^2 − 0^2 ;
5 = 3^2 − 2^2 。
对于 40% 的评测用例,LR ≤ 5000 ;
对于所有评测用例,1 ≤ L ≤ R ≤ 10^9 。
【思路解析 】
在暴力尝试中总结答案的规律
【代码实现】
import java.util.Scanner;/*** @ProjectName: study3* @FileName: Ex1* @author:HWJ* @Data: 2023/9/16 22:27*/
public class Ex1 {public static void main(String[] args) {Scanner input = new Scanner(System.in);int L = input.nextInt();int R = input.nextInt();//System.out.println(getNums2(L, R));System.out.println(getNums3(L, R));}public static int getNums1(int L, int R){// 这个方法可行,但是时间复杂度为O(N^2),不满足题目要求int s = (R + 1) / 2;int e = (int) Math.sqrt(L) + 1;int ans = 0;boolean[] have = new boolean[R - L + 1];for (int i = s; i >= e; i--) {for (int j = i - 1; j >= 0; j--) {int a = (i + j) * (i - j);if (a >= L && a <= R && !have[a - L]) {ans++;have[a - L] = true;} else if (a > R) {break;}}}return ans;}public static int getNums2(int L, int R){// 通过观察所有可行的x发现 x要么为奇数要么为4的倍数int ans = 0;for (int i = L; i <= R; i++) {if (i % 4 == 0 || i % 2 != 0){ans++;}}return ans;}public static int getNums3(int L, int R){// 通过观察所有可行的x发现 x要么为奇数要么为4的倍数// 得到这个规律后,可以统计这样的数目应当为 F(R) = R / 4 + (R + 1) / 2;假设 L == 1// 所以实际数目应该为F(R) - F(L - 1)return (R / 4 + (R + 1) / 2) - ((L - 1) / 4 + (L) / 2);}
}
相关文章:
蓝桥杯2023年第十四届省赛真题-平方差--题解
蓝桥杯2023年第十四届省赛真题-平方差 时间限制: 3s 内存限制: 320MB 提交: 2379 解决: 469 题目描述 给定 L, R,问 L ≤ x ≤ R 中有多少个数 x 满足存在整数 y,z 使得 x y2 − z2。 输入格式 输入一行包含两个整数 L, R,用一个空格分隔。 输出格…...

iText实战--根据绝对位置添加内容
3.1 direct content 概念简介 pdf内容的4个层级 层级1:在text和graphics底下,PdfWriter.getDirectContentUnder() 层级2:graphics层,Chunk, Images背景,PdfPCell的边界等 层级3:text层,Chun…...

使用navicat for mongodb连接mongodb
使用navicat for mongodb连接mongodb 安装navicat for mongodb连接mongodb 安装navicat for mongodb 上文mongodb7.0安装全过程详解我们说过,在安装的时候并没有勾选install mongodb compass 我们使用navicat去进行可视化的数据库管理 navicat for mongodb下载地址…...

Qt ffmpeg音视频转换工具
Qt ffmpeg音视频转换工具,QProcess方式调用ffmpeg,对音视频文件进行格式转换,支持常见的音视频格式,主要在于QProcess的输出处理以及转换的文件名和后缀的处理,可以进一步加上音视频剪切合并和音视频文件属性查询修改的…...

机器学习笔记 - 视频分析和人类活动识别技术路线简述
一、理解人类活动识别 首先了解什么是人类活动识别,简而言之,是对某人正在执行的活动/动作进行分类或预测的任务称为活动识别。 我们可能会有一个问题:这与普通的分类任务有什么不同?这里的问题是,在人类活动识别中,您实际上需要一系列数据点来预测正确执行的动作。 看看…...
Redis从入门到精通(三:常用指令)
前边我们介绍了redis存储的四种基本数据类型,并纵向介绍了这四种数据类型的各种指令操作,现在我们这个章节从横向来总结一下关于key的常用指令和数据库常用指令 key常用指令 删除指定key del key 获取key是否存在 exists key 获取key的类型 type …...
代码随想录day39 || 动态规划 || 不同路径
62.不同路径 ● 力扣题目链接 ● 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 ● 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 ● 问总共有…...
电商平台API接口采集电商平台淘宝天猫京东拼多多数据获取产品详情信息,销量,价格,sku案例
淘宝SKU详情接口是指,获取指定商品的SKU(Stock Keeping Unit,即库存量单位)的详细信息。SKU是指提供不同的商品参数组合的一个机制,通过不同的SKU来标识商品的不同组合形式,如颜色、尺寸等。SKU详情接口可以…...
The ‘<‘ operator is reserved for future use. 错误解决
The < operator is reserved for future use. 错误解决 在 PowerShell 终端执行 python learnstock.py < ldata.txt 发生错误, The < operator is reserved for future use.解决方法, cmd /c python learnstock.py < ldata.txt完结&#x…...

vulnhub靶机Thoth-Tech
下载地址:https://download.vulnhub.com/thothtech/Thoth-Tech.ova 主机发现 arp-scan -l 目标:192.168.21.148 端口扫描 nmap --min-rate 10000 -p- 192.168.21.148 服务扫描 nmap -sV -sT -O -p21,22,80 192.168.21.148 漏洞扫描 nmap --scriptvu…...

不可思议,无密码登录所有网站!
hello,我是小索奇 居然可以免密码登录你的网站?听起来是不是很恐怖 确实如此,Cookie可以用于保持用户在网站上的登录状态,从而实现 免密码登录,学会了不要做坏事哈 这里仅做免密码登录的实操,就不介绍Cooki…...
深度学习编译器关键组件
1 高层中间代码 为了克服传统编译器中采用的IR限制DL模型中复杂计算的表达的局限性,现有的DL编译器利用高层IR(称为图IR)进行高效的代码优化设计。 1.1 图表示 基于DAG的IR:基于DAG的IR是编译器构建计算图的最传统方法之一&…...

【C++】string类模拟实现下篇(附完整源码)
目录 1. resize2. 流插入<<和流提取>>重载2.1 流插入<<重载2.2 流提取 << 3. 常见关系运算符重载4. 赋值重载4.1浅拷贝的默认赋值重载4.2 深拷贝赋值重载实现4.3 赋值重载现代写法 5. 写时拷贝(了解)6.源码6.1 string.h6.2 test.cpp 1. res…...

Android高级开发-APK极致优化
九道工序 1. SVG(Scalable Vector Graphics)可缩放矢量图 使用矢量图代替位图可以减小 APK 的尺寸,因为可以针对不同屏幕密度调整同一文件的大小,而不会降低图像质量。 矢量图首次加载时可能消耗更多的 CPU 资源。之后,二者的内存使用率和…...

Rocketmq--消息驱动
1 MQ简介 1.1 什么是MQ MQ(Message Queue)是一种跨进程的通信机制,用于传递消息。通俗点说,就是一个先进先出的数据结构。 1.2 MQ的应用场景 1.2.1 异步解耦 最常见的一个场景是用户注册后,需要发送注册邮件和短信通…...

华为云云耀云服务器L实例评测|centos系统搭建git私服
搭建git私服 前言一、华为云云耀云服务器L实例租用二、华为云云耀云服务器L实例安装git三、华为云云耀云服务器L实例git配置1.创建文件用于存放公钥2.设置文件权限3.配置本地公钥 四、华为云云耀云服务器L实例部署git仓库四、git仓库到本地总结 前言 之前一直想搭建一个属于自…...

苹果CMS主题 MXonePro二开优化修复开源版影视网站源码
MXPro模板主题(又名:mxonepro)是一款基于苹果cms程序的一款全新的简洁好看UI的影视站模板类似于西瓜视频,不过同对比MxoneV10魔改模板来说功能没有那么多,也没有那么大气,但是比较且可视化功能较多简洁且有周更记录样式等多功能后台设置&…...

【新版】系统架构设计师 - 软件架构设计<轻量级架构>
个人总结,仅供参考,欢迎加好友一起讨论 文章目录 架构 - 软件架构设计<轻量级架构>考点摘要轻量级架构表示层业务逻辑层持久层数据库 SSH与SSMORMHibernate与Mybatis 架构 - 软件架构设计<轻量级架构> 考点…...

系统架构设计专业技能 ·结构化需求分析 - 数据流图
现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream weaving wings, let the dream fly in reality. 点击进入系列文章目录 系统架构设计高级技能 结构化需求分析 - 数据流图 一、数据流图的基本概念二、需…...

linux内核分析:线程和进程创建,内存管理
lec18-19:进程与线程创建 lec20-21虚拟内存管理 内核代码,全局变量这些只有一份,但是内核栈有多份,这可能就是linux线程模型1对1模式的由来。通过栈来做的 x86 CPU支持分段和分页(平坦内存模式)两种 分段,选择子那里就有特权标记了...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...