首页 > 其他分享 >斜率优化

斜率优化

时间:2023-07-13 12:13:20浏览次数:23  
标签:截距 return ll 凸包 斜率 优化 dp

斜率优化

大致思想:

将决策点视为若干二维平面上的点,将当前点的已知条件视为斜率,将 \(dp_i\) 视为截距。寻找经过某个点且斜率一定的直线的最小截距。(寻找最大截距时需要将 \(dp\) 取负,转化为最小,这样维护的凸包就始终是下凸包)

凸包的维护:

单调队列:

满足条件:满足抉择点的 \(x\) 坐标单调递增,\(i\) 的 \(k\) 值单调递增

李超线段树

k,b,y的转换

转换的常见思路:若 \(i\) 为当前点,\(j\) 为最优决策点。把只与 \(j\) 有关的部分设为 \(Y(j)\);把 “由 \(i\),\(j\) 决定的部分中 \(y\) 的部分设为 \(X(j)\)”;把“由 \(i\),\(j\) 决定的部分中 \(i\) 的部分设为 \(K(i)\)”;把只与 \(i\) 有关的部分设为 \(b\).当然,有一些题目可能涉及到常数的计算,放入哪个部分都是可以的,为了方便,我常把它放入 \(b\)中.

实例:dp[i] = dp[j] - A * (s[i] - s[j]) * (s[i] - s[j]) - B * (s[i] - s[j]) - C;假设有这样一个递推式,那么会有如下的转换:

ll getx(int i) { return s[i]; }
ll gety(int i) { return dp[i] - A * s[i] * s[i] + B * s[i]; }
ll getk(int i) { return -2 * A * s[i]; }

DP过程

写出这道题的转移方程,将方程进行一些变形后把 \(k,b,y\) 求出。

对于每一个点 \(i\):

  1. 根据 \(K(i)\),求出点 \(i\) 的最优决策点 \(j\).(寻找切线的过程)
  2. 将 \(i\) 对应的点\((X(i),Y(i))\) 加入平面,并维护凸包。

求最终答案。

标签:截距,return,ll,凸包,斜率,优化,dp
From: https://www.cnblogs.com/bwartist/p/17550095.html

相关文章

  • 强化学习Chapter2——优化目标(1)
    强化学习Chapter2——优化目标(1)上节涉及强化学习基本思路以及利用数学方式表征强化学习,但对强化学习的目标并没有进行详尽的定义。本节的目标旨在介绍algorithm-free的优化目标,即本文将不涉及算法地详述强化学习的目标。强化学习一般性目标上文提到,强化学习的目标可以解释为:......
  • EasyCVR平台Ehome协议接入,设备管理中出现新增通道按钮的问题优化
    EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有GB28181、RTSP/Onvif、RTMP等,以及厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTSP、RTMP、FLV、HLS、WebRTC等格式的视频流。有用户反馈,通过海康Ehome接入的设备,在设备管理中出现了新......
  • SysMain 服务(也称为 Superfetch 或 Prefetch)是 Windows 操作系统中的一个关键组件之一
    SysMain服务(也称为Superfetch或Prefetch)是Windows操作系统中的一个关键组件之一,用于优化系统性能和加速应用程序的启动时间。SysMain服务通过分析系统的使用模式,并预先加载常用的应用程序和文件到内存中,从而减少应用程序的启动时间和提高响应速度。SysMain服务的主要目标......
  • redis数据结构编码优化(1)
    redis数据结构内部编码优化(1)Redis可以通过内部编码规则来节省空间。Redis为每种数据类型提供了两种内部编码方式。以散列类型为例,散列类型是通过散列表实现的,这样就可以实现o(1)时间复杂度的查找、赋值操作,然而当键中元素很少的时候,o(1)的操作并不会比o(n)有明显的性能提高,所以这......
  • 说透MySQL:从数据结构到性能优化,附实际案例和面试题
    typora-copy-images-to:imgmysql索引第一章MySQL性能(掌握)1分析-数据库查询效率低下我们进入公司进行项目开发往往关注的是业务需求和功能的实现,但是随着项目运行的时间增加,数据量也就增加了,这时会影响到我们数据库的查询性能。所以我们要提高操作数据库的性能,有如下两种方式:1.......
  • 基于 NNCF 和 Optimum 面向 Intel CPU 对 Stable Diffusion 优化
    基于隐空间的扩散模型(LatentDiffusionModel),是解决文本到图片生成问题上的颠覆者。StableDiffusion是最著名的一例,广泛应用在商业和工业。StableDiffusion的想法简单且有效:从噪声向量开始,多次去噪,以使之在隐空间里逼近图片的表示。但是,这样的方法不可避免地增加了推理......
  • 三维GIS渲染引擎盘点,以Cesium为核心的拓展优化
    目前,以Cesium为核心的各类产品繁多,本文将挑选一些以Cesium为核心的软件案例,为大家进行介绍。1.CesiumJSCesiumJS相信凡是GIS行业相关人员都特别熟悉了,CesiumJS是一款开源的JavaScript库,用于创建高性能的地球可视化应用程序。它基于WebGL技术,可以在现代的Web浏览器中实现各种三......
  • GPT优化后效果
    #......
  • 凸优化3——一些重要的凸集
    本节对应凌青老师5、6两课内容主要举例并证明了一些典型的凸集超平面、半空间凸优化修炼之路|超平面与半空间-知乎(zhihu.com)球和椭球,其中,在定义椭球时用到了对称正定矩阵这一概念,故在此补充特征值、奇异值、半正定、正定,以及其中关系特征值和特征向量-知乎(zhihu.co......
  • sharding-jdbc分库连接数优化
    一.背景:配运平台组的快递订单履约中心(cp-eofc)及物流平台履约中心(jdl-uep-ofc)系统都使用了ShardingSphere生态的sharding-jdbc作为分库分表中间件,整个集群采用只分库不分表的设计,共16个MYSQL实例,每个实例有32个库,集群共512个库.当每增加一台客户端主机,一个MYSQl实例最......