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

空调遥控【牛客tracker 每日一题】

空调遥控

时间限制:1秒 空间限制:256M

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

d d dddd作为集训队的队长,一直掌管着集训室的空调遥控器,她需要调整温度使队员们更好地进入训练状态,已知集训室一共有n nn名队员,每位队员都有一个温度诉求a [ i ] ( 1 ≤ i ≤ n ) a[i](1≤i≤n)a[i](1in),当室内温度为K KK时,当且仅当∣ a [ i ] − K ∣ ≤ p ∣a[i]−K∣≤pa[i]K∣≤p时,这个队员能够正常进入训练状态,否则就会开始躁动,作为队长,d d dddd需要调整好温度,她想知道,在最佳情况下,最多有多少队员同时进入训练状态

输入描述:

第一行两个数n , p ( 1 ≤ n , p ≤ 1000000 ) n,p(1≤n,p≤1000000)n,p(1n,p1000000),含义如题面描述
接下来一行n nn个数a [ i ] ( 1 ≤ a [ i ] ≤ 1000000 ) a[i](1≤a[i]≤1000000)a[i](1a[i]1000000)表示每个队员的温度诉求

输出描述:

输出一个数字,表示最多有多少队员同时进入训练状态

示例1

输入:

6 2 1 5 3 2 4 6

输出:

5

说明:

温度调成3 334 44,都可以满足5 55名队员同时进入训练状态

解题思路

本题核心是通过排序+滑动窗口(双指针)求解最多满足条件的队员数:首先将队员的温度诉求数组排序,问题等价于找最长子数组,使其最大值与最小值的差≤ 2 p ≤2p2p(对应温度区间[ K − p , K + p ] [K-p,K+p][Kp,K+p]);初始化双指针L = 0 、 R = 0 L=0、R=0L=0R=0,维护窗口内元素差值≤ 2 p ≤2p2p,右指针R RR逐个右移,若v [ R ] − v [ L ] > 2 p v[R]-v[L]>2pv[R]v[L]>2p则左移L LL缩小窗口,同时记录窗口的最大长度。排序的时间复杂度O ( n log ⁡ n ) O(n \log n)O(nlogn),滑动窗口线性遍历O ( n ) O(n)O(n),整体复杂度适配n ≤ 1 e 6 n≤1e6n1e6的规模,精准找到能同时进入训练状态的最多队员数。

总结

  1. 核心逻辑:将温度诉求排序后,用滑动窗口找差值≤ 2 p ≤2p2p的最长子数组,其长度即为答案。
  2. 关键操作:双指针维护合法窗口,右指针扩展、左指针收缩,动态更新最大窗口长度。
  3. 效率保障:排序+线性遍历的时间复杂度适配n ≤ 1 e 6 n≤1e6n1e6的规模,无冗余计算。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vt;typedefpair<ll,ll>pll;constll N=5e5+10;constll mod=1e4+7;constll INF=1e18;intmain(){ll n,p;cin>>n>>p;vector<ll>v(n);for(ll i=0;i<n;i++)cin>>v[i];sort(v.begin(),v.end());ll ans=1;ll res=1;ll l=0,r=0;while(r<n){while(v[r]-v[l]>2*p){l++;ans--;}if(ans>res)res=ans;r++;ans++;}cout<<res<<endl;return0;}
http://www.jsqmd.com/news/495771/

相关文章:

  • YOLO-v5自定义训练:在自己的数据集上微调模型
  • 一键部署DeerFlow镜像:火山引擎FaaS应用中心快速体验AI研究助理
  • 开发者必看:CosyVoice-300M Lite镜像部署实操手册,开箱即用
  • 黄山派小智动态待机界面进阶:从GIF优化到性能调优
  • VSCode 2026日志插件深度评测:性能提升273%、错误定位提速8.6倍,实测数据全公开
  • Docker容器间通信的3种实用方法:从host.docker.internal到自定义网络
  • Doris在大数据处理中的性能优化秘籍
  • Vue3项目实战:vue-cropper图片裁剪从安装到跨域问题全解决
  • 智谱开源视觉大模型GLM-4.6V-Flash-WEB体验:部署简单,响应快,效果惊艳
  • 微信小程序订阅消息授权数据的后端存储机制解析
  • GDSDecomp全解析:Godot游戏逆向工程实战指南
  • 计算机毕业设计java基于微信小程序的菜谱查询点评系统设计与开发 基于微信小程序的美食菜谱分享与评价系统 基于微信小程序的食谱查询与用户点评平台
  • Packet Tracer实验复盘:配置完RIP路由后,别忘了用这几个命令验证和排错
  • Qwen3-ASR-1.7B在媒体行业的应用:采访录音自动转写系统
  • el-cascader远程搜索避坑指南:从filterable到lazy加载的完整配置
  • 解决MTK手机自动亮度太亮/太暗问题:手动调整config.xml的完整流程
  • 从零开始:使用Docker容器化部署Django项目到腾讯云CVM(附完整配置文件)
  • 深入解析Chrome CORS跨域限制及实战解决方案
  • 基于强化学习的图片旋转判断模型优化
  • Harmonyos应用实例119:立体图形展开折叠游戏
  • 国企工程建筑局域网Web应用如何基于JS实现BIM模型大文件的目录结构分片传输?
  • 揭开Deliberate模型的实战面纱:从技术优势到落地挑战
  • 新手避坑指南:Simulink中AC Voltage Source最常见的3个配置错误及解决方法
  • 无需代码!Z-Image-Turbo_UI界面小白教程:开箱即用,快速出图
  • CLIP-GmP-ViT-L-14图文匹配测试工具:辅助数据库课程设计中的多媒体检索模块
  • 惊艳!bge-large-zh-v1.5向量生成效果展示:sglang部署实测案例
  • AI编程新时代:Mirage Flow实战自动化代码审查与重构
  • 企业数字化转型的核心策略与实践路径 - 企业推荐官【官方】
  • 医疗局域网如何通过百度WebUploader组件优化病历PDF文件的浏览器端分片断点恢复?
  • Overleaf本地化部署实战:从零搭建高效LaTeX协作环境