蓝桥杯 游戏 6251 单调队列

news2025/4/4 16:33:48

传送门 0游戏 - 蓝桥云课

有了单调队列,在求解答案时:当我们需要对最大值的列表和最小值的列表进行俩俩组合,如果直接用两个f0r循环进行匹配,那么时间复杂度太大,容易超时。我们可以进行一个推导,假设最大值列表为Ai,最小值为Bi。nA1-B1+..+Bn)+..+nAn.(B1..+Bn)。因为结果是算期望,需要除以n^2,那么上式变为(A1+..+An)-B1+.+Bn)n。


const int N = 1e5 + 10;

int n,k;
LL a[N];
int dq[N],hh = 1,tt = 0;
LL L[N],H[N];
LL cnt;

void solve()
{
	cin >> n >> k;
	for (int i = 1;i <= n;i ++) cin >> a[i];
	
	for (int i = 1;i <= n;i ++)
	{
		while(hh <= tt && dq[hh] < i - k + 1) hh ++;
		while(hh <= tt && a[dq[tt]] >= a[i]) tt--;
		dq[++tt] = i;
		if (i >= k) L[++cnt] = a[dq[hh]];
	}
	
	hh = 1,tt = 0,cnt = 0;
	for (int i = 1;i <= n;i ++)
	{
		while(hh <= tt && dq[hh] < i - k + 1) hh ++;
		while(hh <= tt && a[dq[tt]] <= a[i]) tt--;
		dq[++tt] = i;
		if (i >= k) H[++cnt] = a[dq[hh]];
	}
	
	for (int i = 1;i <= cnt;i ++) L[i] += L[i - 1],H[i] += H[i - 1];

	cout << fixed << setprecision(2) << 1.0 * (H[cnt] - L[cnt]) / cnt << endl;
}


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

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

相关文章

【电子通识】为什么电子元件的规格书常常要看英文版本

在我们查看电子器件规格书的时候&#xff0c;如果有中文版本和英文版本两种供我们选择&#xff0c;那我们常常需要查看英文版本&#xff0c;大家有想过这是为什么吗&#xff1f; 为什么英文规格书很重要&#xff1f; 电子元件规格书&#xff08;Datasheet&#xff09;常以英文版…

Scala基础知识5

面向对象 Scala 的面向对象思想和 Java 的面向对象思想和概念是一致的。 Scala 中语法和 Java 不同&#xff0c;补充了更多的功能。 1.Scala包 基本语法&#xff1a;package 包名 Scala 包的三大作用&#xff08;和 Java 一样&#xff09; 1.区分相同名字的类。 2.当类很多…

【图像处理基石】什么是RAW格式?

在图像处理中&#xff0c;RAW格式是一种未经处理、记录了相机传感器原始数据的图像文件格式。它保留了相机传感器捕捉到的全部原始信息&#xff0c;未经任何压缩或处理&#xff0c;因此被称为“原始数据”&#xff08;Raw&#xff09;。以下是关于RAW格式的详细解释&#xff1a…

AI Agent 实战:搭建个人在线旅游助手

AI Agent 实战&#xff1a;搭建个人在线旅游助手 本次实验中&#xff0c;我们将继续探索 Agent 的提示词&#xff0c;学习更加规范的提示词撰写方法。 本实验中你将掌握的知识点 使用 Dify 构建 Agent 的方法结构化的提示词撰写技巧变量的使用方法 1. 准备 在新建 Agent 之…

【JavaScript】十四、轮播图

文章目录 实现一个轮播图&#xff0c;功能点包括&#xff1a; 自动播放鼠标经过暂时播放鼠标离开继续播放点击切换按钮手动切换 div盒子嵌套先写出静态HTML&#xff0c;再使用JS来修改样式和数据&#xff0c;渲染页面&#xff1a; <!DOCTYPE html> <html lang"…

2025 全球音乐 AI 大模型对决:技术革新引领商业变革浪潮

未来的世界声音&#xff1a; 音乐产业如今正被 AI 技术推动着&#xff0c;开启一场智能革命的全新篇章。无论是旋律的诞生&#xff0c;还是工业化编曲的流程&#xff0c;AI 大模型都在以飞快的速度改变着行业的基本逻辑架构。在中国&#xff0c;昆仑万维依靠 Mureka 系列产品在…

RabbitMQ详解,RabbitMQ是什么?架构是怎样的?

目录 一,RabbitMQ是什么? 二,RabbitMQ架构 2.1 首先我们来看下RabbitMQ里面的心概念Queue是什么? 2.2 交换器Exchange 2.3 RabbitMQ是什么? 2.4 重点看下优先级队列是什么? 三,RabbitMQ集群 3.1 普通集群模式 3.2 镜像队列集群 一,RabbitMQ是什么? 假设我们程序…

Java 大视界 -- Java 大数据在智能教育自适应学习平台中的用户行为分析与个性化推荐(169)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

智能打印预约系统:微信小程序+SSM框架实战项目

微信小程序打印室预约系统&#xff0c;采用SSM&#xff08;SpringSpringMVCMyBatis&#xff09;经典框架组合。 一、系统核心功能详解 1. 智能化管理后台 ​用户数据看板​打印店资源管理​预约动态监控​服务评价系统 2. 微信小程序端 ​智能定位服务​预约时段选择​文件…

Redisson 操作 Redis Stream 消息队列详解及实战案例

目录 一、Redis Stream 概念 1.Redis消息队列-认识消息队列 2.Redis Stream特点 3.Redis Stream与RabbitMQ等消息队列的比较 二.Redis Stream基本操作命令 1.生产消息 2.消费消息 3.消费者组操作 4.确认消息处理 三、Redisson 操作 Stream 的核心 API 1. 获取流的API…

【深度学习量化交易19】行情数据获取方式比测(1)——基于miniQMT的量化交易回测系统开发实记

我是Mr.看海&#xff0c;我在尝试用信号处理的知识积累和思考方式做量化交易&#xff0c;应用深度学习和AI实现股票自动交易&#xff0c;目的是实现财务自由~ 目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。 经常使用MiniQMT的朋友都知道&#xff0c;xtquant的…

23种设计模式-结构型模式-代理

文章目录 简介问题解决方案代码核心设计要点 总结 简介 代理是一种结构型设计模式&#xff0c;让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问&#xff0c;并允许在把请求提交给对象前后进行一些处理。 问题 为什么要控制对于某个对象的访问呢&#xff1f…

Windows C++ 排查死锁

开发出来应用程序突然间卡死不动&#xff0c;如果其中是因为死锁问题卡列该如何排查 下面是一个简单的死锁例子 #include <iostream> #include <thread> #include <mutex>std::mutex a, b;void function_a() {std::lock_guard<std::mutex> _x(a);std:…

ctfshow

1&#xff0c;web517 通过输入两个单引号让查询语句正常&#xff0c;判断是什么注入&#xff0c;使用的是什么字符 然后我们通过order by 判断回显位&#xff0c;进行一个联合查询注入 获取数据库名 ctfshow的sqli-labs和本地搭建最大的不同&#xff0c;就是show的flag不在当前…

【AI论文】什么、如何、何处以及效果如何?大语言模型测试时缩放技术调研

摘要&#xff1a;随着预训练时代对计算&#xff08;数据和参数&#xff09;缩放的热情逐渐减退&#xff0c;测试时缩放&#xff08;Test-Time Scaling, TTS&#xff09;&#xff0c;也被称作“测试时计算”&#xff0c;已成为一个备受瞩目的研究焦点。近期研究表明&#xff0c;…

大模型学习一:deepseek api 调用实战以及参数介绍

一、说明 DeepSeek&#xff08;杭州深度求索人工智能基础技术研究有限公司&#xff09;是一家专注于大语言模型&#xff08;LLM&#xff09;研发的中国创新型科技公司&#xff0c;成立于2023年7月17日&#xff0c;由幻方量化孵化。其核心产品包括开源推理模型DeepSeek-R1、多模…

MYSQL实现获取某个经纬度区域内的数据

1.创建表 2.插入表数据 INSERT INTO tf_sys.tf_location(name, longitude, latitude, location) VALUES (资料名称1, 114.437625, 16.016914, ST_GeomFromText(POINT(114.437625 16.016914))); INSERT INTO tf_sys.tf_location(name, longitude, latitude, location) VALUES (…

《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX

第39集&#xff1a;模型部署——TensorFlow Serving 与 ONNX 摘要 在机器学习项目中&#xff0c;训练好的模型需要被部署到生产环境中才能发挥实际价值。本集聚焦于如何将模型高效地部署到生产环境&#xff0c;涵盖TensorFlow Serving和ONNX两种主流工具的使用方法。我们将从理…

YOLOv11区域检测

TrackZone 使用Ultralytics YOLO11 -Ultralytics YOLO 文档 如何通过Ultralytics YOLO11 在Python 中使用 TrackZone&#xff1f; 只需几行代码&#xff0c;您就可以在特定区域设置对象跟踪&#xff0c;从而轻松将其集成到您的项目中。 import cv2from ultralytics import s…

手工win提权土豆家族一键梭哈

手工提权 就是在没有工具使用的时候进行提权&#xff08;或者是win版本过新导致的exp作者没更新等&#xff09; 优点就是 随选随用 缺点就是非常繁琐&#xff08;建议是先土豆梭哈然后再手工提权&#xff09; 先进行信息收集&#xff08;这边靶机以例子&#xff09; 这个…