题目:连续子序列

解题思路:
首先,不能使用暴力枚举,时间为O(n2),超时。以下为正确做法:

假设找到一段区间(其和>=m),如上图黄色部分,那么该区间加上i后面的元素形成的新区间和都>=m,因此以该区间为基础就有n-i+1个区间符合要求。
那么我们只需要从1开始找到每一个恰好大于等于m的黄色区间,再依次把每一个黄色区间为基础的区间的个数相加就得到答案。
AC代码:
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e5+9;
int a[N];
ll m;
// 依次找出区间和>=m的滑动窗口,j++
int main()
{ll sum = 0,ans = 0;int n, j = 1;cin >> n >> m;for(int i = 1; i <= n; i++){cin >> a[i];sum += a[i];if(sum >= m){ans += (n-i+1);while(j <= i && sum >= m){ // 数组从1开始序号递增,所以当序号i>=j时区间合法 sum -= a[j];j++;if(sum >= m)ans += (n-i+1);} }}cout << ans << '\n'; return 0;
}
知识点:
双指针,滑动窗口
相关文章:
题目:连续子序列
解题思路: 首先,不能使用暴力枚举,时间为O(n2),超时。以下为正确做法: 假设找到一段区间(其和>m),如上图黄色部分,那么该区间加上i后面的元素形成的新区间和都>m&a…...
深入解析:Nacos AP 模式的实现原理与应用场景
优质博文:IT-BLOG-CN 一、CAP 基础 Nacos作为注册中心同时支持CP和AP模式。 Nacos通过不同的协议和机制来实现这两种模式,以满足不同的需求场景。 在Nacos中,默认情况下使用的是AP模式,通过Distro协议来实现。AP模式主要关…...
snmpnetstat使用说明
1.snmpnetstat介绍 snmpnetstat命令是用来查看snmp服务器的端口连接信息。 2.snmpnetstat安装 1.snmpnetstat安装 命令: yum -y install net-snmp net-snmp-utils [root@logstash ~]# yum -y install net-snmp net-snmp-utils Loaded plugins: fastestmirror Loading mi…...
linux线程 | 同步与互斥 | 互斥(下)
前言:本篇文章主要讲述linux线程的互斥的知识。 讲解流程为先讲解锁的工作原理, 再自己封装一下锁并且使用一下。 做完这些就要输出一堆理论性的东西, 但博主会总结两条结论!!最后就是讲一下死锁。 那么, 废…...
2024-10-17 问AI: [AI面试题] 讨论 AI 的挑战和局限性
文心一言 AI(人工智能)虽然取得了显著的进步,但仍面临多方面的挑战和局限性。以下是对AI挑战和局限性的详细讨论: 一、数据质量与可靠性 数据质量:AI系统依赖于高质量的数据进行训练和学习。如果数据质量低劣或包含…...
go基础(一)
包声明引入包函数变量语句&表达式注释 package main//包声明import "fmt"//引入包 //函数 func main() {/* 这是我的第一个简单的程序 */fmt.Println("Hello, World!") }基础语法 标记 go程序可以由多个标记组成,可以是关键字࿰…...
python忽略warnings 的方法
我在训练深度学习模型的时候一直出现这样的警告,但是不影响运行: UserWarning: Failed to load image Python extension: [WinError 127] 找不到指定的程序。 warn(f"Failed to load image Python extension: {e}") 要避免在 Python 程序运…...
2024年底蓝奏云最新可用API接口列表 支持优享版 无需手动抓取cookie
Lanzou Pro V1 接口列表 API状态版本路由获取文件与目录✅^1.0.1/v1/getFilesAndDirectories?url{}&page{}获取目录✅^1.0.0/v1/getDirectory?url{}获取文件✅^1.0.1/v1/getFiles?url{}&page{}搜索文件✅^1.0.0/v1/searchFile?url{}&wd{}依Id解析✅^1.0.2/v1/…...
Linux常用命令详细解析(含完整命令演示过程)
目录 1. 目录结构介绍 2. Linux命令基础 2.1 命令和命令行 2.2 格式 3. 常用命令 3.1 产看目录命令——ls 3.2 通配符 3.3 改变工作目录命令——cd 3.4 查看当前路径命令——pwd 3.5 创建新的目录命令——mkdir 3.6 创建文件目录命令——touch 3.7 查看…...
《使用Gin框架构建分布式应用》阅读笔记:p101-p107
《用Gin框架构建分布式应用》学习第7天,p101-p107总结,总计7页。 一、技术总结 1.StatusBadRequest vs StatusInternalServerError 写代码的时候有一个问题,什么时候使用 StatusBadRequest(400错误),什么时候使用 StatusIntern…...
014集——c#实现打开、另存对话框(CAD—C#二次开发入门)
如下图所示,运行后实现如下功能: 打开对话框,选择一个文件,并获取文件名变量。 打开另存对话框,输入路径和文件名,获取另存文件名变量。 部分代码如下: public static void Ofd(this Database…...
全面升级:亚马逊测评环境方案的最新趋势与实践
在亚马逊测评领域深耕多年,见证了无数环境方案的更迭与演变,每一次变化都体现了国人不畏艰难、勇于创新的精神。面对平台的政策调整,总能找到相应的对策。那么,当前是否存在一套相对稳定且高效的技术方案呢?答案是肯定…...
Java中的异步编程模型
1.什么是异步编程? 异步编程是一种编程模式,允许程序在等待某些操作(例如文件I/O或网络请求)完成时,不必停下来等待,而是继续执行其他任务。当异步操作完成时,回调函数或任务调度器会处理结果&…...
opencv 按位操作
opencv位运算说明 按位与,按位或,按位非,按位异或 在 OpenCV 中,按位操作函数的接口一般包括两个或多个图像数组(矩阵)作为输入,常常还会有一个可选的掩码参数。下面我列出每个函数的具体接口…...
【Bug】STM32串口空闲中断接收不定长数据异常
Bug 使用标准库配置STM32F103C8T6的串口1开启接收中断和空闲中断,通过空闲中断来判断数据发送是否结束,收到数据后切换板载LED灯所接引脚电平,发现LED出现三种情况,熄灭、微亮、正常亮,但是LED灯所接的GPIO引脚为PC13…...
使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
一、项目简介 使用过ABP框架的童鞋应该知道它也自带了一款免费的Blazor UI主题,它的页面是长这样的: 个人感觉不太美观,于是网上搜了很多Blazor开源组件库,发现有一款样式非常不错的组件库,名叫:Radzen&am…...
Java入门4——输入输出+实用的函数
在本篇博客,采用代码解释的方法,帮助大家熟悉Java的语法 一、输入和输出 在Java当中,我们一般有这样输入输出: import java.util.Scanner;public class javaSchool {public static void main(String[] args) {Scanner scanner …...
《当尼采哭泣》
这是一个相互救赎的故事。故事铺垫比较冗长,看到一半的时候一度看不下去。直到看到最后两章才最终感觉值得一看。很多表层现象,就像露出水面的冰山。解决表面的问题,需要深挖冰山水下的部分。一个人碰到的最难解决的问题不在外部,…...
TOMCAT Using CATALINA——OPTS,闪退解决方法(两种)
【Java实践】安装tomcat启动startup.bat出现闪退问题_安装tomcat点击startup闪退-CSDN博客...
Android音视频 MediaCodec框架-启动编码(4)
Android音视频 MediaCodec框架-启动编码 简述 上一节我们介绍了MediaCodec框架创建编码器流程,编解码的流程其实基本是一样的,只是底层的最终的实现组件不同,所以我们只看启动编码流程。 MediaCodec启动编码 从MediaCodec的start方法开始…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 在字幕生成方面…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
