首页 > 其他分享 >斜优小记

斜优小记

时间:2024-09-28 16:46:39浏览次数:8  
标签:slope le cdot dfrac 斜优 dp 单调 小记

一个启发是,对于一个 \(i\) 的两个转移 \(j,k\),比较 \(j\) 与 \(k\) 的转移优劣。

可以用斜率优化的场景:对比后可以分拆出 \(slope(j,k)\le\texttt{只和i相关的一些东西}\) 的形式。


例如 P3195,首先写出转移方程

\(dp_i=\min\limits_{0\le j<i}\{dp_j+(s_i-s_j+i-j-1-L)^2\}\)

比较两个 \(j,k\),选 \(j\) 不选 \(k\) 当且仅当

\[dp_j+((s_i+i-L-1)-(j+s_j))^2<dp_k+((s_i+i-L-1)-(k+s_k))^2 \]

记 \(T=s_i+i-L-1\),于是

\[dp_j+(T-(j+s_j))^2<dp_k+(T-(k+s_k))^2 \]

\[dp_j+T^2-2T\cdot(j+s_j)+(j+s_j)^2 < dp_k+T^2-2T\cdot(k+s_k)+(k+s_k)^2 \]

\[(dp_j+(j+s_j)^2)-(dp_k+(k+s_k)^2)<2T\cdot((j+s_j)-(k+s_k)) \]

\[\dfrac{(dp_j+(j+s_j)^2)-(dp_k+(k+s_k)^2)}{(j+s_j)-(k+s_k)}<2T \]

令 \(X(i)=i+s_i, Y(i)=dp_i+(i+s_i)^2\),条件等价于

\[\dfrac{Y(i)-Y_j}{X(i)-X(j)}=\operatorname{slope}(j,k)<2T \]

注意到 \(X(i)\) 单调,单调队列维护单调 slope 值,存储所有 \(<2T\) 的位置,每次队头即为最优转移点。

本质就是题解所说的,维护下凸壳,我比较懒不画图了。


另一个题是 P5785,用相同方法可以化简到

\(X(i)=i+sumf_i, Y(i)=dp_i-sumf_i\cdot s\)

注意到 \(X(i)\) 并非单调,所以需要维护整个下凸壳,然后二分找到 \(k_0<k<k_1\),也就是第一个小于 \(k\) 的位置。

其他都没啥了。记个思想就行,其他操作都是模板。

标签:slope,le,cdot,dfrac,斜优,dp,单调,小记
From: https://www.cnblogs.com/liangbowen/p/18438124

相关文章

  • 9.9课堂感想小记Note
    第二个教学周周一艳阳高照得知无法换课SoSad~言归正传这节课还是有一些小收获首先老师带领我们注册了博客(很古老的平台接着老师向我们展示了巧用搜索引擎使用FILETYPE\SITE和INTITLE指令查询特定格式的文件eg.搜索内容➕filetype:doc/ppt..现在很少用电脑浏览器搜索资......
  • 技巧小记
    跳跃带修可以考虑\(\sqrt{n}\)分块维护若是跳次数超多可以考虑倍增维护很多有循环/置换环的东西可以把一次转换看成“跳跃”dp抽象网格图抽象:把状态看做网格图上的点,观察性质分层dp抽象:把每层画出,把转移边画出,看是否能通过平移等做内联dp子集枚举for(S=(1<<n......
  • 图的连通性小记
    前言DFS树无向图DFS树定义:DFS树是在图或树结构上进行深度优先搜索时形成的树。在DFS过程中,从一个顶点开始,尽可能深地搜索图的分支,直到达到一个没有未访问邻居的顶点,然后回溯到上一个顶点继续搜索。从点\(r\)开始搜索,每次进入一个点\(i\)对应的边\((fa_i,i)\)为树......
  • 小董小记——9.10教师节人工智能教育技术学小记(1)
    下午蒙蒙小雨,也抵挡不住我们开拓知识技能的热情。我们也算是使用博客园的初学者,也在逐步学会通过使用博客园发布自己的一些小随笔,生活学习的小记录。说实话,我在没使用过博客园之前,都是从电视剧里面或者别人口中听来的,所以,我一直以为它是微博的一个分身。结果,并不是。多学习一项技......
  • 24.9.10教师节课堂小记
    一、符号1、使用“—”符号在关键词的前面使用减号,也就意味着在查询结果中不能出现该关键词,“关键词A+空格+减号+关键词B”2、使用FILETYPE\SITE和INTITLE指令:使用filetype指令可以查询特定格式的文件,比如doc\txt\ppt\pdf,搜索格式为:关键词+空格+filetype:+文件格式使用site指......
  • 组合数小记
    前言计数的基本原理考虑一个集合:\(S\),求\(|S|\)。加法原理:\(S=S_1\cupS_2,|S|=|S_1|+|S_2|\)。乘法原理:\(|{(a,b)|a\inS_1,b\inS_2}|=|s_1||s_2|\)更浅显的说当两件事情无关时为加法,当前一件的结果影响后面时用乘法。组合数基本公式及衍生公式排列与组合排列......
  • 策略模式的小记
    策略模式策略模式支付系统【场景再现】硬编码完成不同的支付策略使用策略模式,对比不同(1)支付策略接口(2)具体的支付策略类(3)上下文(4)客户端(5)小结策略模式定义:策略模式是一种行为设计模式,在运行时改变对象的行为。目的:定义一系列算法,把它们一个个封装起来,并且使它们可相......
  • 数位DP小记
    1.基础1.1.问题数位DP解决的一般都是和数字相关的计数问题,常见的有\(l\simr\)中有多少数符合某个关于数位的条件。对于这种问题,我们都是先用前缀和转化成小于等于某个数的问题。下面以P2602[ZJOI2010]数字计数为模板题。1.2记忆化搜索我们先枚举每个数码。我们......
  • 快一年没进这里了,小小记录下吧
    (1)进了某上市股份银行的数仓迁移项目(2)遇到了相似又不同的问题,就是所谓的项目经理排挤式,看来我是天生招小人的体质,需要接种疫苗(3)乙方的管理水平,刷新了我的三观,本以为遇到中行甲方的管理水平下限,没想到我离开这个行业之前,还能让我领教到乙方的管理水平下限(4)充分再次理解什么叫乱叫......
  • 回文自动机小记
    构建口胡一下过程:\(fail\)边指向自己的最长回文后缀(偶根指向奇根)。定理:每添加一个字符,至多新增一个新的本质不同的回文串,且是所有回后缀中最长的。由此得出推论:本质不同的回文子串(回文自动机的点数)不超过|S|暴力跳终止链,找到第一个左侧有\(x\)的回文后缀\(v\)。......