OPPO 2024届校招正式批笔试题-后端(C卷)
小欧的括号嵌套
题目描述
小欧想要构造一个合法的括号序列满足以下条件:
- 括号序列长度恰好为 2 × n 2×n 2×n。
- 括号序列的嵌套层数最大值为 r r r。
括号嵌套层数是指在一个字符串中,以左括号 “(” 和右括号 “)” 形成的括号对的最大嵌套深度。
输入描述
一行两个整数 n , r ( 1 ≤ r ≤ n ≤ 1 0 5 ) n, r(1 ≤ r ≤ n ≤ 10^5) n,r(1≤r≤n≤105)。
输出描述
一行一个字符串表示括号序列。若有多种构造方案,输出任意一个即可。
解题思路
构造一种特殊的满足条件的括号序列即可。
代码实现
int main() {int n, r;scanf("%d%d", &n, &r);string s = string(r, '(') + string(r, ')');for (int k = n / r; k-- > 0; cout << s);cout << string(n % r, '(') + string(n % r, ')');return 0;
}
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)
小欧的等差数列
题目描述
小欧有一个长度为 n n n,首项为 a a a,公差为 d d d 的等差数列。现在,小欧把这 n n n 个数看作一个集合,每次操作可以从集合中任意选两个数 a i , a j a_i,a_j ai,aj,如果 a i + a j a_i+a_j ai+aj 是偶数,那么可以将 ( a i + a j ) / 2 (a_i+a_j)/2 (ai+aj)/2 加入到集合中。小欧想知道,经过若干次操作后,集合中最多能有多少个数。
输入描述
一行三个整数 n , a , d n, a, d n,a,d,表示等差数列的长度,首项和公差。
- 1 ≤ n ≤ 1 0 5 1 ≤ n ≤ 10^5 1≤n≤105
- 1 ≤ a , d ≤ 1 0 9 1 ≤ a, d ≤ 10^9 1≤a,d≤109
输出描述
输出一个整数,表示集合中最多能有多少个数。
解题思路
- a i + a j a_i + a_j ai+aj = a + i × d + a + j × d a+i×d+a+j×d a+i×d+a+j×d
- 若 i + j i+j i+j 为偶数,则 ( a i + a j ) (a_i+a_j) (ai+aj) 为偶数,但 ( a i + a j ) / 2 (a_i+a_j)/2 (ai+aj)/2 已存在于集合中。
- 若 d d d 为偶数,则 ( a i + a j ) (a_i+a_j) (ai+aj) 为偶数,此时 ( a i + a j ) / 2 (a_i+a_j)/2 (ai+aj)/2 不一定在集合中。
- 若由集合衍生的数 x x x 在 a , a + d a,a+d a,a+d 之间,那么 x x x 必然可以由 a , a + d a,a+d a,a+d 衍生得到, a + k × d , a + ( k + 1 ) × d a+k×d,a+(k+1)×d a+k×d,a+(k+1)×d 同理。
- 所以,仅需考虑由 a , a + d a,a+d a,a+d 可以衍生得到多少数即可。
- 若 d d d 的因数包含 2 k 2^k 2k,那么,由 a , a + d a,a+d a,a+d 可以衍生得到 2 k − 1 2^k-1 2k−1 个数,由集合可衍生得到的数的个数为 ( 2 k − 1 ) × ( n − 1 ) (2^k-1) × (n-1) (2k−1)×(n−1)。
代码实现
int main() {long long n, a, d, k = 0;cin >> n >> a >> d;while (!(d & 1))k++, d >>= 1;cout << n + ((1 << k) - 1) * (n - 1);return 0;
}
时间复杂度: O ( 1 ) O(1) O(1)。
空间复杂度: O ( 1 ) O(1) O(1)。
小欧喝水
小欧拿了 n n n 个杯子排成了一排,其中有 k k k 个杯子装满了水,剩余的 n − k n-k n−k 个杯子为空的。小欧每回合的操作如下:
- 随机选择一个杯子。
- 杯子是空的。回合直接结束。
- 杯子是满的。如果小欧上一回合喝过了水,则回合结束;否则将喝完这杯水,回合结束。
小欧想知道,她喝完所有水的回合数期望是多少?
输入描述
两个正整数 n , k n,k n,k,用空格隔开。
- 1 ≤ k ≤ n ≤ 1 0 6 1≤ k ≤ n ≤ 10^6 1≤k≤n≤106
输出描述
一个浮点数,代表期望的回合数。如果你的答案和正确答案的误差不超过 1 0 − 6 10^{-6} 10−6,则认为答案正确。
解题思路
本题留给读者小试牛刀。
END
题目来源:OPPO 2024届校招正式批笔试题-后端(C卷)
文章声明:题目来源 牛客 平台,如有侵权,请联系删除!
相关文章:
OPPO 2024届校招正式批笔试题-后端(C卷)
小欧的括号嵌套 题目描述 小欧想要构造一个合法的括号序列满足以下条件: 括号序列长度恰好为 2 n 2n 2n。括号序列的嵌套层数最大值为 r r r。 括号嵌套层数是指在一个字符串中,以左括号 “(” 和右括号 “)” 形成的括号对的最大嵌套深度。 输入…...
HTTP请求五类状态码详细介绍,以及部分处理思路
HTTP请求状态码分为五类: 一. 消息系列 二 成功系列 三. 重定向系列 四. 请求错误系列 五. 服务器端错误系列 302:临时转移成功,请求的内容已转移到新位置 403:禁止访问 500:服务器内部错误 401代表未授权。 以下是常见的一些状态码: 1xx&…...
Log4j的原理及应用详解(三)
本系列文章简介: 在软件开发的广阔领域中,日志记录是一项至关重要的活动。它不仅帮助开发者追踪程序的执行流程,还在问题排查、性能监控以及用户行为分析等方面发挥着不可替代的作用。随着软件系统的日益复杂,对日志管理的需求也日益增长,因此,一个高效、灵活且易于使用的…...
【深度学习】PyTorch框架(4):初始网络、残差网络 和密集连接网络
1、引言 在本篇文章中,我们将深入探讨并实现一些现代卷积神经网络(CNN)架构的变体。近年来,学界提出了众多新颖的网络架构。其中一些最具影响力,并且至今仍然具有重要地位的架构包括:GoogleNet/Inception架…...
【关于PHP性能优化,内存优化,日志工具等问题处理】
目录 PHP 性能优化: 如何优化 PHP 代码以提高性能? 通用优化策略: 框架特定优化: 性能优化最佳实践: 描述一下你使用过的 PHP 性能分析工具。 检测内存泄漏的方法 使用工具检测内存泄漏 常见内存泄漏场景及解决…...
R-CNN、Fast R-CNN和Faster R-CNN:目标检测的进化之路
在计算机视觉的世界里,目标检测是一个重要的任务,它的目标是找到图像中的特定物体,并标注出它们的位置。这项技术广泛应用于自动驾驶、安防监控等领域。为了让计算机能够准确高效地完成这一任务,科学家们提出了许多优秀的算法,其中最具代表性的就是R-CNN、Fast R-CNN和Fas…...
Yolov8网络结构学习
详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出/部署 深入解析YOLOv8:网络结构与推理过程 YOLO? You Know! --YOLOV8详解 一:yolov8总体结构 1.Backbone:它采用了一系列卷积和 反卷积层只来提取特征,同时也使用了残差连接和…...
5.5 软件工程-系统测试
系统测试 - 意义和目的 系统测试 - 原则 系统测试 - 测试过程 系统测试 - 测试策略 系统测试 - 测试方法 真题 系统测试 - 测试用例设计 黑盒测试 白盒测试 真题 系统测试 - 调试 系统测试 - 软件度量 真题...
网络故障处理及分析工具:Wireshark和Tcpdump集成
Wireshark 是一款免费的开源数据包嗅探器和网络协议分析器,已成为网络故障排除、分析和安全(双向)中不可或缺的工具。 本文深入探讨了充分利用 Wireshark 的功能、用途和实用技巧。 无论您是开发人员、安全专家,还是只是对网络操…...
UDP客户端、服务端及简易聊天室实现 —— Java
UDP 协议(用户数据包协议) UDP 是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接,简单来说,当客户端向接收端发送数据时,客户端不会确认接收端是否存在,就会发出…...
下载安装nodejs npm jarn笔记
下载安装nodejs npm jarn笔记 下载 Node.js安装Node.js修改node全局路径安装yarn 下载 Node.js 下载Node.js 安装Node.js 双击下载的下来的.msi文件运行并安装一直点next。安装路径可以是默认也可自定义。安装完成后Node.js和npm就安装完成了 命令行输入: nod…...
Calibration相机内参数标定
1.环境依赖 本算法采用张正友相机标定法进行实现,内部对其进行了封装。 环境依赖为 ubuntu20.04 opencv4.2.0 yaml-cpp yaml-cpp安装方式: (1)git clone https://github.com/jbeder/yaml-cpp.git #将yaml-cpp下载至本地 &a…...
MySQL源码安装
安装MySQL 本次安装使用的是绿色硬盘版本,无需额外安装依赖环境,比较简单 cd /opt tar -xf mysql安装包 mv 解压出的目录 /usr/local/mysql #创建程序用户 useradd -M -s /sbin/nologin mysql #mysql的主配置文件设定所属用户和组 chown -R mysql.m…...
gtest单元测试:进程冻结与恢复管理模块的单元测试实现
文章目录 1. 概要2. 进程管理接口详解2.1 进程冻结与恢复的基本概念2.2 进程查找与PID获取2.3 进程冻结与恢复的实现2.3.1 进程冻结2.3.2 进程恢复 2.4 进程终止2.5 进程状态监控与控制 3. dummy_process的设计与实现3.1 创建dummy_process脚本3.2 启动dummy_process3.3 终止du…...
Flutter动画详解第二篇之显式动画(Explicit Animations)
目录 前言 一、定义 1.AnimationController 1.常用属性 1. value 2. status 3. duration 2.常用方法 1.forward 2.reverse 3.repeat 4.stop 5. reset 6. animateTo(double target, {Duration? duration, Curve curve Curves.linear}) 7.animateBack(double ta…...
python常用模块(JSON与pickle、Os模块)
一、Open函数使用 在python中,open() 函数用于打开文件,并返回一个文件对象,同时支持读取和写入文件。 基本用法: file open(file_path, moder, encodingNone, newlineNone) 其中file_path表示的是文件的路径,可以…...
MMLab-dataset_analysis
数据分析工具 这里写目录标题 数据分析工具dataset_analysis.py数据可视化分析 benchmark.pybrowse_coco_json.pybrowse_dataset.pyOptimize_anchors mmyolo、mmsegmentation等提供了数据集分析工具 dataset_analysis.py 数据采用coco格式数据 根据配置文件分析全部数据类型或…...
艺术与技术的交响曲:CSS绘图的艺术与实践
在前端开发的世界里,CSS(层叠样式表)作为网页布局和样式的基石,其功能早已超越了简单的颜色和间距设置。近年来,随着CSS3的普及,开发者们开始探索CSS在图形绘制方面的潜力,用纯粹的代码创造出令…...
基于 JAVA 的旅游网站设计与实现
点击下载源码 塞北村镇旅游网站设计 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消…...
【C++深度探索】二叉搜索树的全面解析与高效实现
🔥 个人主页:大耳朵土土垚 🔥 所属专栏:C从入门至进阶 这里将会不定期更新有关C/C的内容,欢迎大家点赞,收藏,评论🥳🥳🎉🎉🎉 文章目录…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
