【蓝桥杯每日一题】重新排序
重新排序
2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分
题目大意
给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,Ri, 求数组中第 L i L_i Li至第 R i R_i Ri个元素之和。
小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能地大。小蓝想知道相比原数组, 所有查询结果的总和最多可 以增加多少?
解题思路
首先看到题一定会想到前缀和,因为要求数组中某一个区间的和。
分析这个题,想要某些区间里的和达到最大,那么可以让那些重合计算的位置能够交换到最大的值,以此达目的。
然后就是计算每一个位置的使用使用次数,可以通过差分,这里涉及到对某些区间的一个 +1 。
最后想要给这些使用次数最多的分配到可行的最大值,那么可以通过排序,将原数组和使用的次数都进行一个排序,那么这时候就满足上述那个要求;然后分别计算两次的总和相减即可。
举例:
1 2 3 4 5 1 3 2 5 1 2 2 1 1 排序: 1 2 3 4 5 1 1 1 2 2
Accepted
// 不开 long long 见祖宗
#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int N = 100010;
ll a[N],b[N],c[N];
ll n,m;void diff(int l,int r) {b[l] += 1;b[r + 1] -= 1;
}int main()
{cin>>n;for(int i = 1 ;i <= n ;i++ ) {cin>>a[i];c[i] = c[i-1] + a[i];}cin>>m;ll cnt = 0;for(int i = 1;i <= m;i++) {int l,r;cin>>l>>r;diff(l,r);cnt += c[r] - c[l-1];}for(int i = 1;i <= n;i++) {b[i] = b[i-1] + b[i];}sort(b+1,b+n+1);sort(a+1,a+n+1);ll pre = 0;for(int i = 1;i <= n;i++) {pre += a[i] * b[i];}cout<<pre - cnt<<endl;return 0;
}
思考
当时的思考已经分析到了使用次数,就差最后的一个神来之笔——排序求解。
备注
想要一起备赛的小伙伴可以私信加我的联系方式!
相关文章:
【蓝桥杯每日一题】重新排序
重新排序 2024-12-8 蓝桥杯每日一题 重新排序 前缀和 差分 题目大意 给定一个数组 A 和一些查询 L i , R i Li_,R_i Li,Ri, 求数组中第 L i L_i Li至第 R i R_i Ri个元素之和。 小蓝觉得这个问题很无聊, 于是他想重新排列一下数组, 使得最终每个查 询结果的和尽可能…...
《深入浅出HTTPS》读书笔记(16):消息验证码算法分类
MAC算法有两种形式,分别是CBC-MAC算法和HMAC算法。 CBC-MAC算法从块密码算法的CBC分组模式演变而来,简单地说就是最后一个密文分组的值就是MAC值。 HMAC(Hash-based Message Authentication Code)算法使用Hash算法作为加密基元&am…...
如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求
Apache HttpClient 是一个功能强大且灵活的库,用于在Java中处理HTTP请求。 它支持多种HTTP方法,包括GET、POST、PUT和DELETE等。 本教程将演示如何使用Apache HttpClient来执行GET、POST、PUT和DELETE请求。 Maven依赖 要使用Apache HttpClient&…...
数据结构-希尔排序
每次对5个间隔的元素进行插入排序,然后间隔依次递减,直到间隔为1 互质:相邻的两个元素没有公因子 这个例子只有间隔1起来作用 #include<iostream> using namespace std; typedef int ElmentType; void shell_Sort(ElmentType A[], int…...
Spire.doc 合并word,复制word
之前使用的poi来实现这个功能,然后发现在复制chart时,边框样式无法修改,于是就使用了spire.doc 1. 引入依赖 <repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https…...
【Spring项目】表白墙,留言板项目的实现
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:项目实现准备 1:需求 2:准备工作 (1)…...
分布式事务-nacos/seata在windows环境下部署及开发
参考资料: nacos的windows环境部署 seata和nacos的结合及seata开发 参考demo及资料 nacos在windows环境下的部署: nacos在windows下的部署参考文章 seata加入nacos配置: 首先下载seata安装包:Release v1.7.0(Not Apache relea…...
分布式微服务架构下的密码安全性方案
在 Spring Cloud 微服务架构中,涉及登录或注册时的密码安全性问题,通常需要从传输过程中的安全性和存储过程中的安全性两个方面进行保护。以下是主流的安全性保证方案: 传输过程中的安全性 HTTPS 加密传输: 使用 HTTPS 协议来保…...
基于pytorch的深度学习基础4——损失函数和优化器
四.损失函数和优化器 4.1 均值初始化 为减轻梯度消失和梯度爆炸,选择合适的权重初值。 十种初始化方法 Initialization Methods 1. Xavie r均匀分布 2. Xavie r正态分布 4. Kaiming正态分布 5. 均匀分布 6. 正态分布 7. 常数分布 8. 正交矩阵初…...
网络安全信息收集(总结)更新
目录 重点: 前言: 又学到了,就是我们什么时候要子域名收集,什么时候收集域名,重点应该放前面 思考: 信息收集分为哪几类,什么是主域名,为什么要收集主域名,为什么要收…...
web斗地主游戏实现指北
前后端通信 作为一个即时多人游戏,不论是即时聊天还是更新玩家状态,都需要服务端有主动推送功能,或者客户端轮询。轮询的时间间隔可能导致游玩体验差,因为不即时更新,而且请求数量太多可能会打崩服务器。 建议在cs间…...
SpringMVC其他扩展
一、全局异常处理机制: 1.异常处理两种方式: 开发过程中是不可避免地会出现各种异常情况的,例如网络连接异常、数据格式异常、空指针异常等等。异常的出现可能导致程序的运行出现问题,甚至直接导致程序崩溃。因此,在开发过程中,…...
【Linux】网络服务
声明,以下内容均学习自《Linux就该这么学》一书 1、创建网络会话 Linux系统使用NetworkManager提供网络服务,它是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。 nmcli nmcli是一款基于命令行的网络配置工具,它…...
工作:SolidWorks从3D文件导出2D的DWG或DXF类型文件方法
工作:SolidWorks从3D文件导出2D的DWG或DXF类型文件方法 SolidWorks从3D文件导出2D的DWG或2D DXF类型文件方法(一)打开3D文件(二)从装配体到工程图(三)拖出想要的角度的图型(四&#…...
IDL学习笔记(五)MODIS数据(Grid)
IDL学习笔记(四) MODIS Grid数据的重投影 正弦投影 是以 米 为单位的 经纬度网格 是以 度 为单位的 但是转换之后,不会一一对应,所以需要对中间空缺位置需要进行一个填补。 核心问题: 把一个点从一个空间参考系放到另一个空间参…...
JavaScript语言介绍
JavaScrip是一门编程语言 浏览器的工作原理 所以得域名都会被解析成ip地址,ip地址就是服务器地址,服务器地址会返回一个html文件,解析html遇到css文件和JavaScript标签就会把相应内容下载下来进行解析。 认识浏览器的内核 浏览器的渲染过程 …...
Lua使用点号和冒号的区别
首先建立一个table,再分别定义两个方法,如下: local meta {}function meta:test1(...)print(self)print("")for k,v in pairs({...}) doprint(v)end endfunction meta.test2(...)print(self)print("")for k,v in pairs…...
LLM - 开源视觉多模态 LLaVA-CoT(o1) 深度推理模型 测试与源码 教程
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/144304351 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 LLaVA-…...
Ansible的yum和saltstack的哪个功能相似
Ansible的yum和saltstack的哪个功能相似 在 Ansible 和 SaltStack 中,Ansible 的 yum 模块 和 SaltStack 的 pkg 模块 功能相似。它们都用于管理软件包,支持安装、升级、删除和查询等操作。 Ansible 的 yum 模块 用途: 专门用于基于 Red Hat …...
paimon0.9记录
启动paimon -- 本地模式演示 bin/start-cluster.sh-- 启动sqlclient bin/sql-client.sh示例 -- 创建catalog,每次都要创建,创建一个已经存在的catalog相当于使用 CREATE CATALOG fs_catalog WITH (typepaimon,warehousefile:/data/soft/paimon/catalog…...
安卓位置伪装的终极指南:3步掌握应用级虚拟定位
安卓位置伪装的终极指南:3步掌握应用级虚拟定位 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 你是否曾因社交软件暴露真实位置而感到不安?是否需要在不同…...
蓝桥杯嵌入式CT117E-M4实战指南:从零搭建CubeMX开发环境
1. 为什么选择CubeMX开发环境 第一次接触蓝桥杯嵌入式竞赛的同学,往往会被各种开发工具搞得晕头转向。我当年备赛时,光是搭建开发环境就折腾了两天。直到后来发现了STM32CubeMX这个神器,开发效率直接翻倍。简单来说,CubeMX就像是…...
保姆级教程:用PyTorch复现DLA-34分割模型(含可变形卷积版DLAseg)
深度解析DLA-34分割模型:从理论到PyTorch实战 在计算机视觉领域,特征融合一直是提升模型性能的关键技术。Deep Layer Aggregation(DLA)作为CVPR 2018提出的创新架构,通过独特的树状连接机制实现了跨层级的深度特征融合…...
从硬盘分区到系统重装:一套完整的CSGO机器码解封操作流程(附磁盘精灵使用指南)
从硬盘分区到系统重装:CSGO设备标识重置全流程实战指南 当游戏设备标识遭遇封禁时,单纯修改表层参数往往难以彻底解决问题。本文将系统性地介绍一套从底层存储结构到操作系统环境的完整重置方案,帮助玩家重建全新的硬件身份标识。不同于简单的…...
【紧急更新】Perplexity v3.2.1已悄然移除默认引用锚点!立即启用这4种透明度兜底机制保学术安全
更多请点击: https://intelliparadigm.com 第一章:Perplexity引用透明度优化的紧急背景与影响评估 在大型语言模型推理链(Chain-of-Thought)与多跳检索增强生成(RAG)系统中,Perplexity 作为核心…...
AI智能体项目管理器:从原理到实战的编排框架解析
1. 项目概述:一个为AI智能体设计的项目管理器最近在GitHub上看到一个挺有意思的项目,叫gannonh/agent-pm。光看名字,agent-pm, 很容易让人联想到“代理项目管理”或者“智能体项目经理”。点进去一看,果然,…...
Bash脚本集成AI:实现自然语言到命令行的自动化运维工具
1. 项目概述:当Bash脚本遇见AI,自动化运维的新范式最近在GitHub上看到一个挺有意思的项目,叫“Hezkore/bash-ai”。光看名字,你可能会有点懵:Bash脚本和AI,这两个看似八竿子打不着的玩意儿,怎么…...
AI 项目经理 Agent:拆解任务、分配资源与监控风险
AI项目经理Agent:拆解任务、分配资源与监控风险的全流程落地指南从GPT-4发布以来,“AI替代白领”的声音此起彼伏,但作为一名在互联网大厂带过3个亿级SaaS交付项目、同时搞了2年AI辅助项目管理(AIPM)落地的软件工程师&a…...
IntelliJ IDEA实战:巧用Squash合并Git提交,打造清晰版本历史
1. 为什么需要合并Git提交? 刚入行那会儿,我特别喜欢频繁提交代码,每改几行就commit一次,美其名曰"版本控制"。结果一个月后回头看提交记录,满屏都是"修复bug"、"再修一下"、"最终…...
YOLOv8手机识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
摘要 针对公共场所中手机使用行为检测的需求,本文基于YOLOv8目标检测算法构建了一套手机检测系统。实验采用自建手机图像数据集,经过数据标注与增强后,训练了YOLOv8模型。最终模型在验证集上取得了mAP50高达1.02、精度0.99、召回率0.99的优异…...
