Subsequence (尺取法)

POJ——3061题 Subsequence 尺取法 Time Limit:1000MS Memory Limit:65536K Total Submissions:24814 Accepted:10475 Description A sequence of N positive integers (10 < N < 100 000), each of them less than or ... 阅读详情
A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence of consecutive elements of the sequence, the sum of which is greater than or equal to S.
Input
The first line is the number of test cases. For each test case the program has to read the numbers N and S, separated by an interval, from the first line. The numbers of the sequence are given in the second line of the test case, separated by intervals. The input will finish with the end of file.
Output
For each the case the program has to print the result on separate line of the output file.if no answer, print 0.
Sample Input
2
10 15
5 1 3 5 10 7 4 9 2 8
5 11
1 2 3 4 5
Sample Output
2
3

先取前x个数(r++),直到大于S,减去该区间最前面的一个数(收缩 l++),再次判断是否大于S,重复操作,直至t==n或 取得的区间无法大于S 停止。

代码:

#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int num[100002];
int main(){
    int t;
    int n,s;
    int INF=999999;
    int l,r,sum,mi;
    cin>>t;
    while(t--){
        
        cin>>n>>s;
        mi=INF;
        l=0;r=0;sum=0;
        for(int j=0;j<n;j++)
            cin>>num[j];
        while(true){
            while(sum<s&&r<n)
                sum+=num[r++];
            if(sum<s)
                break;
            sum-=num[l];
            mi=min(mi,r-l);
            l++;
        }
        if(mi==INF)
            cout<<0<<endl;
        else
            cout<<mi<<endl;
    }
    
    
    return 0;
}

GPU硬件架构与微架构深度解析34-GPU安全架构深度解析 现代GPU不仅是图形处理器,更是高性能计算平台,安全架构设计至关重要。内存加密- 保护数据在传输和存储时的安全安全启动- 确保固件和软件的完整性隔离机制- 防止不同应用间的数据泄露密钥管理- 安全存储和处理加密密钥。 阅读详情

相关推荐

零基础用AHK操作Excel:从数据读取到自动填写(附完整脚本解析)

本文为零基础用户详细介绍了如何使用AutoHotkey(AHK)通过COM接口高效操作Excel,实现从数据自动读取到填写的完整自动化流程。文章包含完整的脚本解析、环境搭建指南、核心代码逐行讲解以及实际应用案例,帮助办公人员大幅提升数据处理效率,告别重复劳动。

weixin_29202213的博客 556

【曾贤志】Excel函数视频教程

从零开始,讲解了常用的100多个函数是日常工作中的应用。

计算机组成原理(二)—— 数据的表示与运算

本章目录引言一、数制与编码1.1 进位计数制1.1.1 进制及转换1.1.2 真值、机器数1.2 BCD码1.3 ASCII 码1.4 校验码1.4.1 奇偶校验码1.4.2 海明码1.4.3 CRC循环冗余码二、定点数的表示和运算2.1 定点数的表示2.1.1 无符号2.1.2 有符号(原码、反码、补码、移码)2.2 定点数的运算2.2.1 移位运算2.2.2 加减运算(溢出判断)2.2.3 乘法运算2.2.4 除法运算2.3 强制类型转换2.4 数据的存储和排列三、浮点数的表示和运算3.1 浮点数的表示

S mile0804的博客 7473

trim 不是可以识别的 内置函数名称。_Access文本函数(一)

一、字段连接有时候我们需要把两个字段连接起来,可以用连接函数。例如下图需要把经销代码和经销商名称这两个字段并起来成一个新字段很简单,跟Excel一样,用&函数即可。这里我想再两个字段中加入“|”,更新到:[经销商代码] & "|" & [经销商名称]运行结果二、删除字段空格有时候我们从系统中下载或者从别人手中收过来的数据会带有空格,用trim函数即可将空格删去。trim([...

weixin_39824020的博客 643

Java后端中的链路追踪:使用OpenTelemetry实现全链路监控

在现代的微服务架构中,链路追踪是监控和优化系统性能的关键技术。通过链路追踪,我们可以跟踪请求在系统中的流转,识别性能瓶颈,定位问题根源。本文将介绍如何在Java后端应用中使用OpenTelemetry实现全链路监控,包括具体的实现步骤和代码示例。通过集成OpenTelemetry,您可以实现全面的链路追踪,帮助您识别瓶颈和潜在问题,从而提升系统的可靠性和用户体验。OpenTelemetry是一个开源项目,旨在提供统一的工具集来收集、处理和导出应用程序的遥测数据,包括跟踪、度量和日志。

聚娃科技开发者博客 1727

Synopsys SpyGlass 进行 RTL 功耗估计

通过上述脚本,您可以使用 Synopsys SpyGlass 对纯 RTL 代码和带有 FSDB 波形的 RTL 代码进行功耗估计,并支持将 SDC 文件转换为 SGDC 文件。

yumingqinglong的博客 2186

怎么知道文本前后空格的字符格式_Excel Trim函数用法的6个实例,Excel 顽固空格的去除方法...

在 Excel 中,Trim函数用于去文本的前后空格和字符之间的空格,但在去字符之间的空格时,它不会把所有空格都去除,而是留下一个空格;如果要把字符之间的所有空格都去掉,需要用Substitute函数。在 Excel 去空格时,常常会遇到一些顽固空格,用Trim函数或Clean函数都无法去除,此时需要用Substitute函数替换,如果用Substitute函数仍然无法去除,还需要与 Left、R...

weixin_39745345的博客 1589

BL0910-从零到一:多路交/直流电能计量的实战配置与校准

本文详细介绍了BL0910芯片在多路交直流电能计量中的实战应用。从硬件连接、SPI通信配置,到软件初始化、核心寄存器设置,再到偏置与增益校准,提供了完整的配置与校准指南。文章重点阐述了直流测量模式的切换要点及数据读取的工程化处理,帮助开发者快速实现高精度、多通道的电能监控方案。

rice5的博客 564

简单尺取

题目: A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal leng...

hjhj666666的博客 597

【QT开发教程】如何在Qt中使用Protobuf进行高效数据序列化

Protocol Buffers(Protobuf)是Google开发的一种语言中立、平台中立、可扩展的序列化机制,常用于数据交换和存储。Qt作为一个跨平台的C++图形用户界面应用框架,可以与Protobuf结合使用,实现高效的数据序列化和反序列化。本文将介绍如何在Qt中集成和使用Protobuf,包括基本概念、安装步骤、使用示例以及实际应用。

科技改变人类,技术成就未来 1443

【Windows Server 2019】存储服务器的配置和管理——iSCSI的安装和配置(下)

博文介绍了如何使用Windows 10 和 ESXi 验证iSCSI服务器部署成功以及如何管理iSCSI服务 。

VMware, Windows, Linux, Cisco, Container, Kubernetes, Kali 8000

尺取

尺取 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal lengt...

weixin_45548076的博客 437

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

尺取法(POJ3061 Subsequence)

尺取法 大佬的总结 luogu尺取法例题+解析 csdn尺取法例题+解析 1. POJ3061 题意: 给定一个序列,找出最短的连续子序列长度,使得其和大于等于SSS。 Code: #include <iostream> using namespace std; typedef long long ll; const int maxn = 1e5 + 5; const int IN...

NaNa 171

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

POJ 3061 Subsequence 尺取法 + 前缀和

今天粗讲一下尺取法,配合前缀和的应用,两者都是高效降维的有效手段,尺取配合前缀和维护,very nice~尺取法就是一种保存一对下标,即区间端点 l, r,然后不断推进下标寻找最优连续子序列的一个过程,对于我这种不会线段树的辣鸡来说,尺取法目前是我心中高效枚举的首选。具体操作为:先初始化一对区间段点 l, r, 然后不断推进r ,找到满足题意的某段区间,然后在固定住r,推进l, 找到最短的某段满足...

FrozenAllen的博客 270

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

尺取法(取尺法)及模板题 poj-3061 Subsequence

什么是尺取法(取尺法) 其实我也不太懂到底是尺取法还是取尺法,好像都可以= =下文统一尺取法。其实很多人写的双指针就就是尺取法,只是突然换个名字,大概的思路以及应用都是类似的,双指针是2个指针移动,尺取法就是设定尺子的两端位置,然后移动。 简单的例子 假设给出一串01组成的字符串,要求找出连续的0或者连续的1的最长长度,比较简单的写法就是双指针,定义两个指针,...

iwts 1170

POJ 3061 Subsequence(尺取法)

Subsequence Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu Submit Status Description A sequence of N positive integers (10 < N < 100 000), each of them less

K键盘里的青春K 713

Subsequence尺取法基础练习

基础训练尺取法 长度为N的序列,找一个最小连续序列使其之和>=S 双指针做法(尺取 进行sum加和操作,当达到目标的时候前指针向后移,以此类推遍历序列 时间复杂度O(N) #include<algorithm> #include<cstdio> #include<iostream> using namespace std; const int maxn = 1e5+10; int t,n,s,S[maxn],sum,cnt=maxn; int main(){

ssw的博客 247

Subsequence 尺取法

尺取法: 顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不足的地方,有些情况下尺取法不

mytzs123的博客 209

Subsequence(尺取法)

题目 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal lengt...

CHAI_NIAOJINJE的博客 285

【尺取法】Subsequence

尺取法

weixin_62528401的博客 274

POJ 3061—Subsequence(尺取法)

链接:http://poj.org/problem?id=3061 题目 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the subsequence o

Mr.RainsdRop的胡思乱想 919

【题解】Subsequence(尺取法)

题目来源:Subsequence 题目描述: 给出了一个N个正整数(10 <N <100 000)的序列,每个正整数小于或等于10000,并且给出了一个正整数S(S <100 000 000)。 编写程序以查找序列中连续元素的子序列的最小长度,其总和大于或等于S。 用尺取法 #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include&lt

Lzzy2000的博客 1154

POJ3061 Subsequence 尺取法

链接:https://ac.nowcoder.com/acm/problem/107658 来源:牛客网 A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of t

马角的逆袭的博客 668

尺取法 poj-3061Subsequence

尺取法,借鉴挑战程序设计竞赛,尺取法是通过对数组的下标的起点和终点,根据实际情况交替推进两个端点,最后得出答案。 题目: DescriptionA sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S ...

qq_43227036的博客 250

POJ3061---Subsequence(尺取法)

Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9998   Accepted: 4052 尺取法,像尺子一样;一段一段的找; 题意:找最小区间和大于等于给定的数; Description A sequence of N

梦载代码 484

【尺取法】poj 3061 Subsequence

Description A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal le

Kelisiya 507
上一篇: 棋盘问题
下一篇: More is better (并查集)
donCoder
博客等级 码龄9年 65粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值