P9231 [蓝桥杯 2023 省 A] 平方差--巧妙统计奇数的个数!

embedded/2025/3/1 5:17:22/

P9231 [蓝桥杯 2023 省 A] 平方差

      • 题目
  • 分析
  • 统计奇数个数
  • 统计4的倍数个数
      • 代码

题目

在这里插入图片描述

分析

看题目字挺少,条件,目的非常清晰,我脑子中的暴力算法直接涌现出来了^ ^,都是我看来一下L,R的范围QAQ

分享大佬题解

在这里插入图片描述
将x表示为y² - z²,可以因式分解为x = (y+z)(y-z)

设a = y+z,b = y-z,则x = a*b

则a+b=2Y,那么a和b必须同奇偶(因为它们的和是2y,差是2z,必须同为偶数)

因此有两种情况:

奇数:当a和b都是奇数时,x是奇数

4的倍数:当a和b都是偶数时,x必然是4的倍数(为什么是4的倍数,以为偶数都是2的倍数,2个偶数的乘积就是4的倍数了)

综上所述:

我们所需要的数得满足 是奇数或者是4的倍数

所以最总答案为[L,R]区间中奇数和四的倍数的个数

统计奇数个数

return (x+1)/2;

这个+1操作非常巧妙

为什么能统一处理奇偶?

众所周知,奇数的个数 ≈ 总数量的一半,但需要根据 x 的奇偶性做微调。

无论是奇数还是偶数,+1 操作都能保证:

当 x 是奇数时,结果正好是中间值(无小数)
当 x 是偶数时,结果自动舍去小数部分(对正确答案无影响)

巧妙利用了 C++ 中,(x + 1) / 2 的整数除法会自动向下取整。例如:

x=5 → 6/2=3(整数)
x=6 → 7/2=3(舍去 0.5)

统计4的倍数个数

return x/4;

代码

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <math.h>
#include <queue>#include <cctype>
using namespace std;
//求0~x一共有多少个奇数
int ji(int x) {if (x == 0)return 0;elsereturn (x + 1) / 2;
}
//求0~x一共有多少个偶数
int ou(int x) {return x / 4;
}int main() {int l, r;cin >> l >> r;cout << ji(r) - ji(l - 1) + ou(r) - ou(l - 1) << endl;
//l-1为什么?以为题中是个闭区间,为了不把l这个值减去,就只能得算到l-1return 0;
}

http://www.ppmy.cn/embedded/168971.html

相关文章

C/C++易错点:函数指针与指针函数的核心区别与避坑指南

一、核心定义与语法对比 特性指针函数函数指针本质函数&#xff08;返回值为指针类型&#xff09;指针变量&#xff08;指向函数的地址&#xff09;声明语法int* func(int a, int b);int (*func)(int a, int b);关键符号位置*靠近返回值类型&#xff08;属于数据类型&#xff…

使用python做http代理请求

有这样一个需求现在有两台A&#xff0c;B两台电脑组成了一个局域网&#xff0c;在A电脑上开发webjava应用&#xff0c;需要调用第三方接口做http请求&#xff0c;但是这个请求只能在B电脑上请求。 一种解决方案&#xff1a;自定义一个中间服务&#xff0c;在电脑B上运行一个简…

JAVA面试常见题_基础部分_mybatis面试题

1、什么是 MyBatis&#xff1f; 答&#xff1a;MyBatis 是一个可以自定义 SQL、存储过程和高级映射的持久层框架。 2、讲下 MyBatis 的缓存答 &#xff1a;MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打…

R语言基础| 基本统计分析

写在前面 R语言拥有丰富的数据处理、统计分析和机器学习工具包&#xff0c;涵盖了从简单的描述统计到复杂的模型建立的各个方面。再加上数据的处理可以完美的衔接后续的可视化&#xff0c;这使得它成为处理各种类型和规模的数据集的理想选择。 完整R语言教程和测试数据可见&a…

游戏加速器核心引擎解析:从技术原理到实现思路

摘要 随着网络游戏对低延迟、高稳定性的需求不断增加&#xff0c;游戏加速器应运而生。本文将详细解析游戏加速器的核心引擎&#xff0c;探讨其背后的技术架构、关键算法以及常见的挑战与解决方案&#xff0c;旨在为开发者提供技术参考。 1. 引言 网络游戏在跨国、跨地区联机时…

transformer架构的语言模型保存的内容与格式详解

前文我们已经详细讲述了基于pytorch框架下的transformer架构如何从零开始构建一个小型字符级语言模型,构建过程中涵盖数据准备、模型架构设计、训练、评估与生成的整个流程。我们已经了解了各个部分的细节,而且已经提供了完整的python代码。现在需要了解我们构建好的模型如何…

DeepSeek开源周Day1:FlashMLA引爆AI推理性能革命!

项目地址&#xff1a;GitHub - deepseek-ai/FlashMLA 开源日历&#xff1a;2025-02-24起 每日9AM(北京时间)更新&#xff0c;持续五天&#xff01; ​ 一、开源周震撼启幕 继上周预告后&#xff0c;DeepSeek于北京时间今晨9点准时开源「FlashMLA」&#xff0c;打响开源周五连…

DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级

在近两年由AI引发的生产力革命的背后&#xff0c;一场关乎数字世界秩序的攻防战正在上演&#xff1a;AI生成的深度伪造视频导致企业品牌声誉损失日均超千万&#xff0c;批量生成的侵权内容使版权纠纷量与日俱增&#xff0c;黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…