news 2026/4/21 17:09:24

dd爱框框【牛客tracker 每日一题】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
dd爱框框【牛客tracker 每日一题】

dd爱框框

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

网页链接

牛客tracker

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

题目描述

读入n nnx xx,给出n nn个数a [ 1 ] , a [ 2 ] , … … , a [ n ] a[1],a[2],……,a[n]a[1],a[2],……,a[n],求最小的区间[ l , r ] [l,r][l,r],使a [ l ] + a [ l + 1 ] + … … + a [ r ] ≥ x a[l]+a[l+1]+……+a[r]≥xa[l]+a[l+1]+……+a[r]x,若存在相同长度区间,输出l ll最小的那个

输入描述:

第一行两个数,n ( 1 ≤ n ≤ 10000000 ) , x ( 1 ≤ x ≤ 10000 ) n(1≤n≤10000000),x(1≤x≤10000)n(1n10000000),x(1x10000)
第二行n nn个数a [ i ] ( 1 ≤ a [ i ] ≤ 1000 ) a[i](1≤a[i]≤1000)a[i](1a[i]1000)

输出描述:

输出符合条件l , r l,rl,r(保证有解)

示例1

输入:

10 20 1 1 6 10 9 3 3 5 3 7

输出:

3 5

解题思路

本题核心是滑动窗口(双指针)+前缀和,求解和不小于指定值的最短连续子区间。由于数组元素均为正数,满足滑动窗口的使用条件:右指针不断向右扩展区间,累加区间和;当区间和≥ x ≥xx时,尝试左移左指针缩小窗口,同步更新最短区间的长度与左右端点。若存在长度相同的区间,优先保留左端点更小的方案。前缀和数组实现O ( 1 ) O(1)O(1)区间和查询,整体仅需一次遍历,时间复杂度O ( n ) O(n)O(n),空间复杂度O ( n ) O(n)O(n),高效适配n ≤ 10 7 n≤10^7n107的超大数据规模,杜绝暴力枚举的超时风险。

总结

核心逻辑:利用正数数组的单调性,滑动窗口线性遍历,找到和≥ x ≥xx的最短子区间。
关键操作:前缀和快速计算区间和,双指针动态调整窗口大小,记录最优区间端点。
效率保障:线性时间复杂度,无冗余计算,完美处理千万级数据量的约束。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=5e3+10;constll p=1e9+7;constll INF=1e18;constll M=1e6+10;intmain(){ll n,k;cin>>n>>k;vector<ll>a(n+1,0),b(n+1,0);for(ll i=1;i<=n;i++){cin>>a[i];b[i]=b[i-1]+a[i];}ll len=INT_MAX;ll ls=0,rs=0;ll l=1;for(ll r=1;r<=n;r++){while(l<r&&b[r]-b[l-1]>=k){if(b[r]-b[l-1]>=k&&r-l+1<len){len=r-l+1;ls=l,rs=r;}l++;}}cout<<ls<<' '<<rs<<endl;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 17:08:21

铣床液压系统设计说明书课程设计说明书

铣床液压系统是现代机械加工领域的核心组成部分&#xff0c;其设计质量直接影响加工精度、效率与设备稳定性。该系统通过液压油传递动力&#xff0c;驱动主轴、进给机构等关键部件实现精准动作&#xff0c;相比传统机械传动&#xff0c;具有响应速度快、负载能力强、调速范围广…

作者头像 李华
网站建设 2026/4/21 17:07:58

如何快速获取B站直播推流码:3分钟摆脱直播姬限制的完整指南

如何快速获取B站直播推流码&#xff1a;3分钟摆脱直播姬限制的完整指南 【免费下载链接】bilibili_live_stream_code 用于在准备直播时获取第三方推流码&#xff0c;以便可以绕开哔哩哔哩直播姬&#xff0c;直接在如OBS等软件中进行直播&#xff0c;软件同时提供定义直播分区和…

作者头像 李华
网站建设 2026/4/21 17:06:59

服务器CPU突然100%?别慌!手把手教你用top、ps、lsof揪出Linux挖矿木马

服务器CPU突然100%&#xff1f;别慌&#xff01;手把手教你用top、ps、lsof揪出Linux挖矿木马 凌晨三点&#xff0c;服务器监控突然告警——CPU使用率飙升至100%。这种场景对于运维人员来说&#xff0c;就像医生遇到急诊病人&#xff0c;需要快速诊断病因并采取急救措施。本文将…

作者头像 李华
网站建设 2026/4/21 17:05:48

告别模拟器!5步在Windows电脑上直接安装Android应用

告别模拟器&#xff01;5步在Windows电脑上直接安装Android应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了笨重的Android模拟器&#xff1f;是否想要…

作者头像 李华
网站建设 2026/4/21 17:05:31

AMD Ryzen调试利器SMUDebugTool:从入门到实战的完整指南

AMD Ryzen调试利器SMUDebugTool&#xff1a;从入门到实战的完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…

作者头像 李华