GYM-102920-L. Two Buildings(决策单调性+分治)

2023-11-18

题目链接

题目大意:

求一段序列的 (h[i]+h[j])*(j-i) 的最大值

step1: 转化一下题意
(h[i]+h[j])(j-i) = ( h[j] - (-h[i]) )(j-i)
令a[i] = -h[i] ,b[i] = h[i]
然后全部转化为两种坐标 (i,a[i]) (i,b[i])
这样题目就转化成了在一个坐标系中 求最大矩形的面积(选出左下角和右上角的点)

step2: 去除一些多余的点

对于一个固定的(i,a[i])坐标,要想矩形面积最大,肯定是越往左上越好

对于 b[j] < b[i] (j<i) 这样的(j,b[j])可以全部除去
除去后(i,b[i] ) 呈现单调递减

同理对(i,a[i] ) 数组操作
step3:分治

令solve(l1,r1,l2,r2) 为 a数组在mid处取左下角,b数组在[l2,r2]中取右上角,其最优值的点为pos
这里有一个结论
mid的对应最优点取值在pos,那么[mid+1,r1]的对应最优取值一定在[pos,r2]
证明:
只需要证明在mid+x取值时然后在[l2,pos]任意位置取值构成的矩形都小于 S(mid,pos)的取值
证明还是蛮简单的

在这里插入图片描述
之后我们要对三者
solve(l1,r1,l2,r2)
solve(l1,mid-1,l2,pos2)
solve(mid+1,r1,pos2,r2)
取最大值就

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GYM-102920-L. Two Buildings(决策单调性+分治) 的相关文章

  • 关于置信区间、置信度的理解

    关于置信区间和置信度的理解 在网上找了两个相关的观点感觉讲的很好 恍然大悟 简单概括 参数只有一个是固定的不会变 我们用局部估计整体 参数95 的置信度在区间A的意思是 正确 采样100次计算95 置信度的置信区间 有95次计算所得的区间包
  • 【leetcode 524. 通过删除字母匹配到字典里最长单词】双指针,在不同字符串中同向查找

    解题思路 依旧是双指针 不过双指针在不同字符串中同向查找 且在使用双指针前需要对被查找集合做排序 1 根据题目要求 先将dictionary的字符串按照字符串的长度从大到小排序 且字符串符合字典序 进行排序 目的是为了接下查找时 dicti
  • 使用streamstring获取字符串string的子串

    最近优化代码 特别是在C 中获取string的字串 代码经常会遇到 非常有用且重复的功能函数 对这个功能 我之前一直用substr来获取字串 功能也非常强大 最近发现一个非常好用的stringstream 用它来实现substr的部分功能

随机推荐

  • Springboot整合RabbitMQ详解

    RabbitMQ 文章目录 RabbitMQ RabbitMQ的特点 AMQP AMQP模型 消息确认 AMQP是一个可编程的协议 RabbitMQ安装 Windows10安装 步骤 Spring整合AMQP 官方中文文档 GitHup翻译
  • Windows Server 2012 R2 百度创建AD域

    Windows Server 2012 R2 创建AD域 前言 我们按照下图来创建第一个林中的第一个域 创建方法为先安装一台Windows服务器 然后将其升级为域控制器 然后创建第二台域控制器 一台成员服务器与一台加入域的Win8计算机 环
  • Linux终端查看文件指令

    可以用cat查看文件文本内容 还可以用more命令查看 两者不同的是 cat是直接将内容全部显示出来 more支持翻页 如果文件过多可以一页页的展示 翻页可以通过按空格实现
  • Mysql:核心的数据库操作

    Mysql核心点 对于每一位研发同学 Mysql都是必须掌握的技能啦 基本的Mysql的操作 还是得很好的掌握的 一 Mysql 学习一个技术 一定要先去官网学习 Mysql官网 二 基本的查询 1 创建表并插入数据 创建表 CREATE
  • 基于MindSpore的YOLOv3-DarkNet53网络实现

    基于MindSpore的YOLOv3 DarkNet53网络实现 网络模型介绍 1 backbone Darknet 53 YOLOv3使用Darknet 53提取特征 其借鉴了Darknet 19结构 不同于Darknet 19的是 Da
  • Flutter开发遇到的问题

    一 在AndroidStudio4 1中没有 New Flutter Project 菜单 那是由于你没有安装Flutter插件 需要在setting的插件管理中添加 Flutter 和 dart 插件 二 Flutter SDK 安装参考
  • 微信小程序input禁止空格输入

    用户输入的时候 可能会有输入空格的情况 所以我们要利用简单的正则实时去除空格 利用数据双向绑定的特性同步当前input的value值 下面是源码 wxml
  • 基于SpringBoot的螺蛳粉销售系统计算机毕业设计源码70795

    摘 要 随着供给侧结构性改革的稳步实施 互联网 这一新的国家发展的重要战略手段通过 双创 不但改变了传统的供需关系 还为经济发展带来了新动能 它已经成为产业发展的新引擎 螺顿粉产业就是在 互联网 背景下应运而生且蓬勃发展的 但是 在经济全球
  • 寻你的人生 寻你的选择

    无论如何选择 只要是自己的选择 就不存在对错与后悔 过去的我不会让现在的我满意 现在的我也不会让未来的我满意 当面对前路坎坷 我知道既然当初有胆量去选 那么就该有勇气把后果来承担 有毅力把梦想坚持并实现 我们人生中最大的懒惰 就是当我们明知
  • SonarQube8.7使用配置

    一 sonarQube版本 二 安装 三 配置说明 1 设置检测规则 2 启用pdf输出 一 sonarQube版本 本体 sonarqube 8 7 1 42226版本 插件 sonar findbugs plugin 4 0 3 jar
  • 生成Android的keystore密钥

    打开cmd 进入Jdk的 安装目录下的bin文件夹 输入命令 keytool genkey alias android keystore keyalg RSA validity 20000 keystore android keystore
  • /dev/sdb1 已经挂载或 /mnt/mountpoint3 忙解决办法

    dev sdb1 已经挂载或 mnt mountpoint3 忙解决办法 在挂载硬盘分区的时候 会出现mount dev sdd1 already mounted or data3 busy或者是在执行格式化分区的时候也会出现 dev hd
  • 操作系统重点

    1 1 选择题 1 考研真题 单项选择题 单道批处理系统的主要缺点是 A CPU利用率不高 2 考研真题 单项选择题 提高单机资源利用率的关键技术是 D 多道程序设计技术 3 考研真题 单项选择题 并发性是指若干事件在 发生 A C 同一时
  • Qt智能指针之QScopedPointer

    内存释放的问题是C 中比较头疼的问题 合理的使用智能指针能有效的帮助我们减少忘记释放内存 导致的内存泄露问题 本文以Qt中的QScopedPointer为例 通过讲解其用法 从源码深度剖析其实现方式 QScopedPointer的使用原理比
  • IDEA中的“Deployment“ 将项目直接部署到服务器上

    ntelliJ IDEA中的 Deployment 工具栏是一个方便的工具 用于将你的项目直接部署到服务器上 这个工具栏提供了三种部署的方式 1 Web Server在本地电脑上 并且服务器运行目录也在项目目录下 2 Web Server在
  • 【读书笔记】浪潮之巅——公司史篇

    浪潮之巅 公司史 AT T 百年帝国 创立 1877贝尔电话公司 1984年反垄断被拆分 AT T 8家小贝尔公司 1996年重组 AT T 长途电话等电信服务业务 朗讯 专门做程控交换机等设备制造业务 因借钱给各公司买朗讯设备 2000年
  • centos实现集群之间ssh免密(最简单的ssh免密)

    master 1 在虚拟机命令界面输入 ssh keygen t rsa 然后持续回车键 2 ssh copy id 主机名 ssh copy id master ssh copy id slave1 slave1 ssh copy id
  • 811. 子域名访问计数

    网站域名 discuss leetcode com 由多个子域名组成 顶级域名为 com 二级域名为 leetcode com 最低一级为 discuss leetcode com 当访问域名 discuss leetcode com 时
  • 私有部署、重构企业软件,第四范式发布大模型“式说”

    大模型领域再添重要一员 4月26日 第四范式首次向公众展示其大模型产品 式说3 0 并首次提出AIGS战略 AI Generated Software 以生成式AI重构企业软件 式说将定位为基于多模态大模型的新型开发平台 提升企业软件的体验
  • GYM-102920-L. Two Buildings(决策单调性+分治)

    题目链接 题目大意 求一段序列的 h i h j j i 的最大值 step1 转化一下题意 h i h j j i h j h i j i 令a i h i b i h i 然后全部转化为两种坐标 i a i i b i 这样题目就转化成