2023河南萌新联赛第(六)场:河南理工大学-L 阴晴不定的大橘学长

news2024/11/17 8:21:27

2023河南萌新联赛第(六)场:河南理工大学-L 阴晴不定的大橘学长

https://ac.nowcoder.com/acm/contest/63602/L?&headNav=acm

文章目录

  • 2023河南萌新联赛第(六)场:河南理工大学-L 阴晴不定的大橘学长
    • 题意
    • 解题思路
    • 代码

题意

现在给你一个临界值 x x x,并给你 n n n个时刻,第 i i i个时刻的值是 a i a_i ai,对于任意的 [ l , r ] [l,r] [l,r]时间段内如果 ( ∑ i = l r a i ) ≥ x (\sum_{i=l}^ra_i)\ge x (i=lrai)x,说明在这个时间段内是合法的。 现在请你来编写程序求解从 1 1 1 n n n时刻内有多少时间段是合法的。
注意:只要时间段 [ l , r ] [l,r] [l,r] l l l r r r有一个不同,便可认定为不同时间段。
在这里插入图片描述

解题思路

先对于该序列求一个前缀和 p r e {pre} pre,确定区间 [ l , r ] [l,r] [l,r]合法表现为保证 p r e r − p r e l − 1 ≥ x pre_r-pre_{l-1}\ge x prerprel1x,变形一下,可以得到 p r e l − 1 ≤ p r e r − x pre_{l-1}\le pre_r-x prel1prerx,可以对于每个确定的 r r r,查找在它之前的 p r e l − 1 ≤ p r e r − x pre_l-1\le pre_r-x prel1prerx l l l,可以从值域线段树中求。可以先将数值离散化,从左往右扫,每处理完一个就加入值域线段树,注意最开始要加入 0 0 0保证 [ i , i ] ( a i ≥ x ) [i,i](a_i\ge x) [i,i](aix)也被计算。

代码

#include<bits/stdc++.h>
#define ll long long
#define fi first
#define se second
using namespace std;
const int N=2e5+5;
ll ans,p[N];
ll t[N<<3];
ll n,k,a[N],b[N<<1],cnt;
map<ll,int>ma; 
void add(int x,int l,int r,int d){
	if(l==r){
		t[x]++;
		return ;
	}
	int mid=l+r>>1;
	if(d<=mid)add(x<<1,l,mid,d);
	else add(x<<1|1,mid+1,r,d);
	t[x]=t[x<<1]+t[x<<1|1];
}
ll query(int x,int l,int r,int R){
	if(r<=R){
		return t[x];
	}
	int mid=l+r>>1;
	if(R<=mid)return query(x<<1,l,mid,R);
	return query(x<<1,l,mid,R)+query(x<<1|1,mid+1,r,R);
}
int main(){
	cin>>n>>k;
	b[++cnt]=0;
	for(int i=1;i<=n;i++)cin>>a[i],p[i]=p[i-1]+a[i],b[++cnt]=p[i]-k,b[++cnt]=p[i];
	sort(b+1,b+cnt+1);
	cnt=unique(b+1,b+cnt+1)-b-1;
	for(int i=1;i<=cnt;i++){
		ma[b[i]]=i;
	}
	add(1,1,cnt,ma[0]);
	for(int j=1;j<=n;j++){
		ans+=query(1,1,cnt,ma[p[j]-k]);
		add(1,1,cnt,ma[p[j]]);
	}
	cout<<ans;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/888868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RP2040】香瓜树莓派RP2040之仿真调试

本文最后修改时间&#xff1a;2022年08月23日 01:57 一、本节简介 本节以树莓派pico开发板为例&#xff0c;介绍如何使用一个pico作为仿真器&#xff0c;给另一个pico仿真调试代码。 二、实验平台 1、硬件平台 1&#xff09;树莓派pico开发板 ①树莓派pico开发板*2 ②micr…

网络通信原理传输层TCP三次建立连接(第四十八课)

ACK :确认号 。 是期望收到对方的下一个报文段的数据的第1个字节的序号,即上次已成功接收到的数据字节序号加1。只有ACK标识为1,此字段有效。确认号X+1SEQ:序号字段。 TCP链接中传输的数据流中每个字节都编上一个序号。序号字段的值指的是本报文段所发送的数据的第一个字节的…

使用 Ansible Galaxy 安装角色

使用 Ansible Galaxy 安装角色 使用 Ansible Galaxy 和要求文件 /home/curtis/ansible/roles/requirements.yml 。从以下 URL 下载角色并安装到 /home/curtis/ansible/roles &#xff1a; http://rhgls.area12.example.com/materials/haproxy.tar 此角色的名称应当为 balancer …

layui下拉框select 弹出层在最外层

出现问题如图所示 想要的效果是如下 这样的效果只需一行代码就能解决 .layui-layer-page .layui-layer-content{overflow: visible!important;}

生信豆芽菜-差异基因富集分析

网址&#xff1a;http://www.sxdyc.com/enrichmentEnrich 该工具使用R 语言的clusterProfiler包对关键基因集进行GO和KEGG富集分析&#xff0c;注意这个的关键基因集可以是差异基因&#xff0c;WGCNA的module基因&#xff0c;也可以是表型相关的基因集 1、数据准备 准备一个基因…

关于统一事件管理,一定有你想知道的(二)

本文部分内容来源于布博士----擎创科技资深产品专家 哈喽~又见面啦~ 上期内容我们说到了事件以及事件管理&#xff0c;戳这里一键恢复上期精彩内容&#xff1a;关于统一事件管理&#xff0c;一定有你想知道的&#xff08;一&#xff09; 这期主要带大家看看事件管理是怎么运用…

spring官方文档浅翻译(1)

文章目录 IOC容器IOC容器和beans的介绍实例化 BeanBeanFactory&#xff1a;ApplicationContext 容器概述配置元数据实例化容器组合基于xml的配置元数据使用容器 bean的概述命名bean别名的使用 实例化bean构造函数实例化静态工厂实例化实例工厂方法bean 在运行时的实际类型 依赖…

学习笔记|基于Delay实现的LED闪烁|模块化编程|SOS求救灯光|STC32G单片机视频开发教程(冲哥)|第八集:实现LED闪烁(下)

文章目录 2 函数的使用1.函数定义&#xff08;需要带类型&#xff09;2.函数声明&#xff08;需要带类型&#xff09;3.函数调用 3 新建文件&#xff0c;使用模块化编程新建xxx.c和xxx.h文件xxx.h格式&#xff1a;调用头文件验证代码调用&#xff1a;完整的文件结构如下&#x…

使用 RHEL 系统角色

使用 RHEL 系统角色 安装 RHEL 系统角色软件包&#xff0c;并创建符合以下条件的 playbook /home/curtis/ansible/selinux.yml &#xff1a; 在所有受管节点上运行 使用 selinux 角色 将角色配置为以强制执行状态使用SELinux yum install rhel-system-roles.noarch su - curti…

七夕送礼指南:这几款礼物不仅颜值高而且非常实用

七夕又被称为“乞巧节”&#xff0c;相传这一天是牛郎织女一年一度的相会日&#xff0c;所以在这个浪漫的节日里&#xff0c;很有多的恋人也会不远万里来相见&#xff0c;在这个浪漫的日子里&#xff0c;送礼物是表达心意和爱意的重要方式&#xff0c;那么&#xff0c;面对琳琅…

前端练手小项目--自定义时间(html+css+js)

自定义时间 写文章的因 关于要写这篇文章的原因 是记录在工作上遇到的困难需求&#xff0c;是希望能给大家提供一些解决问题的思路 接下来我描述这个需求的多样性&#xff0c;难点在哪。 勾选勾选框开始时间与结束时间默认显示昨天与今天。取消勾选框开始时间与结束时间清空。…

element+vue 表格行拖拽功能

解决方案 使用 sortable.js 步骤一&#xff1a; 安装 npm install vuedraggable步骤二&#xff1a;引入 import Sortable from sortablejs;步骤三&#xff1a; el-table 添加row-key属性&#xff0c;外层包一层 sortableDiv <div class"sortableDiv"> 拖…

IDEA【java.sql.SQLSyntaxErrorException: ORA-00904: “P“.“PRJ_NO“: 标识符无效】

IDEA报错如下&#xff1a; 2023-08-17 11:26:15.535 ERROR [egrant-biz,b48324d82fe23753,b48324d82fe23753,true] 24108 --- [ XNIO-1 task-1] c.i.c.l.c.RestExceptionController : 服务器异常org.springframework.jdbc.BadSqlGrammarException: ### Error queryin…

Docker 的基本概念和优势,在应用程序开发中的实际应用。

Docker是一个开源的容器化平台&#xff0c;让开发者能够轻松地打包、运输和运行应用程序。其基本概念包括&#xff1a; 镜像(Image)&#xff1a;一个镜像是一个只读的软件包&#xff0c;它包含了运行应用所需的所有代码、库文件、环境变量和配置文件等。 容器(Container)&…

docker之简介与安装

环境配置问题 没有虚拟机&#xff0c;我们往往是打包代码发给对方&#xff0c;然后让对方安装相应的环境&#xff0c;比如node、数据库&#xff0c;要是配置不同&#xff0c;项目很有可能无法运行&#xff0c;还会报错&#xff0c;如果多个人想要运行这份代码&#xff0c;那还得…

手撸一个简单的Tomcat,延伸`SpringMvc`的原理

为什么写这篇文章 一直以来都说tomcat是用的java写的&#xff0c;但是也是不明白到底是怎么弄的&#xff0c;最近有个机会搞明白了&#xff0c;特此记录&#xff0c;可以使得更懂tomcat的原理 用java写一个java的运行程序&#xff0c;听着就很酷&#xff0c;你觉得呢&#xf…

多模态分割医学数据集小调研

QaTa-COV19 V1&#xff1a; 该数据集由4603张COVID-19胸部x光片组成;该数据集首次包含了用于COVID-19感染区域分割任务的真值分割掩码。加上对照组的胸部x光片&#xff0c;QaTa-COV19由120,968张图像组成。图像位于“QaTa-COV19/ images /”文件夹下&#xff0c;ground-truth分…

selector.replaceAll is not a function报错问题

个人项目地址&#xff1a; SubTopH前端开发个人站 &#xff08;自己开发的前端功能和UI组件&#xff0c;一些有趣的小功能&#xff0c;感兴趣的伙伴可以访问&#xff0c;欢迎提出更好的想法&#xff0c;私信沟通&#xff0c;网站属于静态页面&#xff09; SubTopH前端开发个人站…

Leetcode49. 字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 解题思路&#xff1a;计数 思路&#xff1a;题意是字符串的字符都是小写&#xff0c;可以对每个字符串统计其中字符的…

什么是公网、私网、内网、外网?

中午好&#xff0c;我的网工朋友。 最近经常有很多小白朋友在问&#xff0c;公网、私网、内网、外网&#xff0c;这些的概念是啥样的&#xff0c;又该怎么去界定。 关于IP地址&#xff0c;确实没有太明确的区分&#xff0c;其实也不必太过咬文嚼字。 内网、外网就是一个参考…