备战蓝桥杯---数据结构与STL应用(入门1)

话不多说,直接看题:

下面为分析:显然,我们要先合并最小的两堆(因为他们在后边也得被计算,换句话,我们独立的看,某一堆的体力值为他自己重量*从现在到最后的次数)

因此,我们可以用两个队列来做。下面我用图来描述过程:(其实可以直接优先队列)

下面为AC代码:

接题(比较难):

这个题跟上一个有异曲同工之妙,我们可以用3个队列来维护最大长度(用优先队列会超),同时,有个十分巧妙地点,对于某个过程产生的蚯蚓,我们让他们-前面时间增加的长度,这样统一了基准,巧妙地把某个过程产生的蚯蚓化为一开始就产生的。

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,q,u,v,t,a[100010],ck;
bool cmp(int a,int b){return a>b;
}
signed main(){scanf("%d%d%d%d%d%d",&n,&m,&q,&u,&v,&t);for(int i=1;i<=n;i++){scanf("%d",&a[i]);}sort(a+1,a+n+1,cmp);queue<int> q1;queue<int> q2;queue<int> q3;for(int i=1;i<=n;i++){q1.push(a[i]);}for(int i=1;i<=m;i++){int max1,a1=-0x7f7f7f7f,a2=-0x7f7f7f7f,a3=-0x7f7f7f7f;if(!q1.empty()) a1=q1.front();if(!q2.empty()) a2=q2.front();if(!q3.empty()) a3=q3.front();max1=max(a1,max(a2,a3));if(max1==a1) q1.pop();else if(max1==a2) q2.pop();else q3.pop();max1+=(i-1)*q;if(i%t==0) cout<<max1<<" ";q2.push(max1*u/v-(i)*q);q3.push(max1-max1*u/v-(i)*q); }cout<<endl;while(!q1.empty()&&!q2.empty()&&!q3.empty()){int a1=q1.front(),a2=q2.front(),a3=q3.front();if(a1>=max(a2,a3)){q1.pop();ck++;if(ck%t==0) cout<<a1+q*m<<" ";continue;}if(a2>=max(a1,a3)){q2.pop();ck++;if(ck%t==0) cout<<a2+q*m<<" ";continue;}if(a3>=max(a2,a1)){q3.pop();ck++;if(ck%t==0) cout<<a3+q*m<<" ";continue;}}if(q1.empty()){while(!q2.empty()&&!q3.empty()){if(q2.front()>q3.front()){ck++;if(ck%t==0)cout<<q2.front()+q*m<<" ";q2.pop();}else{ck++;if(ck%t==0)cout<<q3.front()+q*m<<" ";q3.pop();}}while(!q2.empty()&&q3.empty()){ck++;if(ck%t==0)cout<<q2.front()+q*m<<" ";q2.pop();}while(!q3.empty()&&q2.empty()){ck++;if(ck%t==0) cout<<q3.front()+q*m<<" ";q3.pop();}return 0;}if(q2.empty()){while(!q1.empty()&&!q3.empty()){if(q1.front()>q3.front()){ck++;if(ck%t==0) cout<<q1.front()+q*m<<" ";q1.pop();}else{ck++;if(ck%t==0) cout<<q3.front()+q*m<<" ";q3.pop();}}while(!q1.empty()&&q3.empty()){ck++;if(ck%t==0) cout<<q1.front()+q*m<<" ";q1.pop();}while(!q3.empty()&&q1.empty()){ck++;if(ck%t==0) cout<<q3.front()+q*m<<" ";q3.pop();}return 0;}if(q3.empty()){while(!q2.empty()&&!q1.empty()){if(q2.front()>q1.front()){ck++;if(ck%t==0) cout<<q2.front()+q*m<<" ";q2.pop();}else{ck++;if(ck%t==0) cout<<q1.front()+q*m<<" ";q1.pop();}}while(!q2.empty()&&q1.empty()){ck++;if(ck%t==0) cout<<q2.front()+q*m<<" ";q2.pop();}while(!q1.empty()&&q2.empty()){ck++;if(ck%t==0) cout<<q1.front()+q*m<<" ";q1.pop();}}
}

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

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

相关文章

Ubuntu 22.04安装Nginx负载均衡

君衍. 一、编译安装Nginx二、轮询算法实现负载均衡三、加权轮询算法实现负载均衡四、ip_hash实现负载均衡 一、编译安装Nginx 这里我们先将环境准备好&#xff0c;我使用的是Ubuntu22.04操作系统&#xff1a; 这个是我刚安装好的&#xff0c;所以首先我们进行保存快照防止安装…

为什么说linux操作系统要比windows稳定?

为什么说linux操作系统要比windows稳定&#xff1f; 在开始前我分享下我的经历&#xff0c;刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;两年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些linux学习方法和资料&#xff0c;让我不断提升自己&#xff…

【机器学习】欠拟合与过拟合

过拟合&#xff1a;模型在训练数据上表现良好对不可见数据的泛化能力差。 欠拟合&#xff1a;模型在训练数据和不可见数据上泛化能力都很差。 欠拟合常见解决办法&#xff1a; &#xff08;1&#xff09;增加新特征&#xff0c;可以考虑加入特征组合、高次特征&#xff0c;以…

Qt Design Studio+Pyside项目

Qt Design Studio设计出的项目结构有多个层级的目录&#xff0c;我们直接用类似Qt Creator工具的方式加载main.qml文件时会报错提示module "content" is not installed&#xff0c;将content加入importPath后还是报同样的错误。 Qt Design Studio生成的文件包含了.qm…

【Docker】数据持久化 挂载

Docker的镜像是只读的&#xff0c;但是容器是可写的&#xff0c;我们可以将数据写入到容器&#xff0c;不过一旦容器删除数据将会丢 失&#xff0c;那么有什么办法能将数据进行持久化存储呢&#xff1f; ——在宿主机上开辟一块地方&#xff0c;存储内容和docker容器的存储内…

低代码平台:业务开发“加速器”

一、现状 低代码开发平台要让每个人&#xff0c;包括开发者和普通业务人员&#xff0c;都能够成为企业数字化过程中的主导者和构建者&#xff01;让普通人更容易上手&#xff01; 基于这一目标&#xff0c;应用需求多的云服务商成为低代码投资的主要来源。一家云服务商如谷歌云…

AJAX的原理(重点)

◆ XMLHttpRequest 什么是XMLHttpRequest&#xff1f; 定义&#xff1a; 关系&#xff1a;axios 内部采用 XMLHttpRequest 与服务器交互 注意&#xff1a;直白点说就是axios内部就是封装了XMLHttpRequest这个对象来实现发送异步请求的 使用 XMLHttpRequest 步骤&#xff1a…

C# 实现 gRPC 服务和调用

写在前面 gRPC 是一种与语言无关的高性能远程过程调用 (RPC) 框架。 主要优点如下&#xff1a; 1.高性能轻量化。 2.协议优先的 API 定义模式&#xff0c;默认使用协议缓冲区&#xff0c;允许与语言无关的实现。 3.可用于多种语言的工具&#xff0c;以生成强类型服务器和客户…

项目解决方案:市小区高清视频监控平台联网整合设计方案(上)

目 录 一、项目需求 1.1业务需求 1.2技术需求 1.3 环境要求 1.3.1 硬件要求 1.3.2 技术服务要求 二、系统设计方案 2.1 视频监控平台基础功能设计 2.2 视频资源及联网设备编码与管理设计 2.2.1 全省现有联网视频资源属性 2.2.2 视频资源编码具体格…

Spring IoC容器(一)

IoC,Inversion of Control 控制反转&#xff0c;是一个过程。仅通过构造函数、工厂方法或在对象实例化后在对象实例上设置属性来定义其依赖关系。容器负责这些工作&#xff0c;这个过程从本质上来说是bean本身的反向&#xff0c;因此称为反向控制。 1 容器 负责实例化、配置及…

C语言入门(二)、每日Linux(三)——gcc命令,通过gcc命令熟悉C语言程序实现的过程

使用gcc编译C语言程序 C语言程序实现的过程gcc命令基础用法常用选项编译和汇编选项&#xff1a;优化选项&#xff1a;调试选项&#xff1a;链接选项&#xff1a;警告选项&#xff1a; 实验对于-o选项 通过gcc命令熟悉C语言程序的执行过程1.预处理2.编译阶段3.汇编阶段4.链接阶段…

Java 面试题之 IO(二)

字符流 文章目录 字符流Reader&#xff08;字符输入流&#xff09;Writer&#xff08;字符输出流&#xff09; 文章来自Java Guide 用于学习如有侵权&#xff0c;立即删除 不管是文件读写还是网络发送接收&#xff0c;信息的最小存储单元都是字节。 那为什么 I/O 流操作要分为字…

Java 与 JavaScript的区别

Java 与 JavaScript的区别 Java 与 JavaScript&#xff1a;概述Java的特点JavaScript 的起源JavaScript 的特点Java 与 JavaScript&#xff0c;哪个更好&#xff1f;JavaScript 与 Java 相似吗&#xff1f;Java 与 JavaScript 的区别JavaScript 在服务器端的运行方式是怎样的&a…

网络防御安全知识(第二版)

安全策略 传统的包过滤防火墙 --- 其本质为ACL列表&#xff0c;根据数据报中的特征进行过滤&#xff0c;之后对比规制&#xff0c; 执行动作。 五元组 --- 源IP&#xff0c; 目标IP&#xff0c;源端口&#xff0c; 目标端口&#xff0c;协议 安全策略 --- 相较于ACL的改进之…

Linux/Delivery

Enumeration nmap 首先扫描目标端口对外开放情况&#xff0c;第一轮扫描发现对外开放了22,80,8065三个端口&#xff0c;端口详细信息如下 nmap -sC -sV -p 22,80,8065 10.10.10.222 nmap显示22端口运行着ssh服务&#xff0c;80端口运行着http服务&#xff0c;8065端口运行的…

基于go mod模式创建项目最佳实践

希望能带给你成功的喜悦&#xff01; 除go get、vendor这两种方式外&#xff0c;Go版本在1.11之后推出了go module模式来管理依赖&#xff0c;使用go mod时下载的依赖文件在$GOPATH/pkg/mod/下。本文以两种办法介绍如何创建go mod项目。 目录 goland开启玩法 本地手动创建项目…

【Linux】Linux下多线程

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置&#xff1a;进程地址空间和页表1.1 如何看待进程地址空间和页表1.2 虚拟地址…

MIAOYUN获评OpenCloudOS社区2023年度优秀贡献企业

近日&#xff0c;OpenCloudOS社区发布了社区年度贡献企业榜单&#xff0c;成都元来云志科技有限公司&#xff08;简称“MIAOYUN”&#xff09;凭借对国产开源的热情&#xff0c;及对操作系统产业的支持&#xff0c;通过兼容适配互认证&#xff0c;为推动OpenCloudOS规模化应用&…

使用IP爬虫代理提取数据的步骤是什么?爬虫代理IP怎么提高采集效率?

​​​​​ 一、使用IP爬虫代理提取数据的步骤 在使用爬虫代理IP提取数据之前&#xff0c;需要先了解数据来源和目标网站的结构。以下是一个基本的步骤&#xff1a;1.确定数据来源 首先需要确定要提取数据的网站或数据源&#xff0c;了解网站的结构、数据存储方式以及数据更新…

Qt应用软件【协议篇】Modbus详细介绍

文章目录 概述Modbus 485协议概述在工业自动化中的应用 通信模式数据模型功能码 Modbus RTU示例 1&#xff1a;读取保持寄存器示例 2&#xff1a;写入单个线圈示例 3&#xff1a;写入多个保持寄存器报文传输 Modbus ASCII报文示例报文传输 Modbus TCP报文示例报文传输 概述 在…