1. 四边形不等式与决策单调性

定义(四边形不等式)

设 \(w(x,y)\) 是定义在整数集合上的二元函数,若对于任意 \(a\le b\le c\le d\),都有

\[w(a,d)+w(b,c)\ge w(a,c)+w(b,d)
\]

则称 \(w\) 满足 四边形不等式 .


定义(区间包含单调性)

设 \(w(x,y)\) 是定义在整数集合上的二元函数,若对于任意 \(a\le b\le c\le d\),都有

\[w(a,d)\ge w(b,c)
\]

则称 \(w\) 满足 区间包含单调性 .


定理(四边形不等式的另一种定义)

设 \(w(x,y)\) 是定义在整数集合上的二元函数,其满足四边形不等式当且仅当对于任意 \(a\le b\),都有

\[w(a,b+1)+w(a+1,b)\ge w(a,b)+w(a+1,b+1)
\]

证明后补


定义(决策单调性)

设 \(w(x,y)\) 是定义在整数集合上的二元函数,

\[dp_i=\min_{0\le j<i}\{dp_j+w(j,i)\},\,p_i=\mathop{\arg\max}\limits_{0\le j<i}\{dp_j+w(j,i)\}
\]

若 \(p_i\) 在 \([1,n]\in\mathbb Z\) 上单调不减,则称 \(dp\) 具有 决策单调性


定理

若 \(w\) 满足四边形不等式,且

\[dp_i=\min_{0\le j<i}\{dp_j+w(j,i)\}
\]

则 \(dp\) 有决策单调性

证明后补

2. 决策单调性优化 dp - (i)

考虑维护 \(p\) 数组,根据 \(p_i\) 的单调性,可以想到 \(p_i\) 的形式大概是:

a a a a a b b b c c c c d d e
(a < b < c < d < e)

再求出一个新的 \(dp\) 时,我们可以找到一个位置,然后让后面的数全部改掉

这个用一个队列维护三元组 \((a,l,r)\) 表示 \([l,r]\) 的决策全部是 \(j\)

可以像单调队列一样排除无用决策 .

关于符号

  • \(\mathop{\arg\max}\limits_x \varphi(x)\) 表示使 \(\varphi(x)\) 取到最小值的 \(x\) 的集合,\(\arg\min\) 类似 .

四边形不等式优化 dp (doing)的更多相关文章

  1. hdu 2829 Lawrence(四边形不等式优化dp)

    T. E. Lawrence was a controversial figure during World War I. He was a British officer who served in ...

  2. BZOJ1563/洛谷P1912 诗人小G 【四边形不等式优化dp】

    题目链接 洛谷P1912[原题,需输出方案] BZOJ1563[无SPJ,只需输出结果] 题解 四边形不等式 什么是四边形不等式? 一个定义域在整数上的函数\(val(i,j)\),满足对\(\for ...

  3. 【转】斜率优化DP和四边形不等式优化DP整理

    (自己的理解:首先考虑单调队列,不行时考虑斜率,再不行就考虑不等式什么的东西) 当dp的状态转移方程dp[i]的状态i需要从前面(0~i-1)个状态找出最优子决策做转移时 我们常常需要双重循环 (一重 ...

  4. codevs3002石子归并3(四边形不等式优化dp)

    3002 石子归并 3 参考 http://it.dgzx.net/drkt/oszt/zltk/yxlw/dongtai3.htm  时间限制: 1 s  空间限制: 256000 KB  题目等级 ...

  5. CF321E Ciel and Gondolas Wqs二分 四边形不等式优化dp 决策单调性

    LINK:CF321E Ciel and Gondolas 很少遇到这么有意思的题目了.虽然很套路.. 容易想到dp \(f_{i,j}\)表示前i段分了j段的最小值 转移需要维护一个\(cost(i ...

  6. HDU 2829 Lawrence (斜率优化DP或四边形不等式优化DP)

    题意:给定 n 个数,要你将其分成m + 1组,要求每组数必须是连续的而且要求得到的价值最小.一组数的价值定义为该组内任意两个数乘积之和,如果某组中仅有一个数,那么该组数的价值为0. 析:DP状态方程 ...

  7. 四边形不等式优化DP——石子合并问题 学习笔记

    好方啊马上就要区域赛了连DP都不会QAQ 毛子青<动态规划算法的优化技巧>论文里面提到了一类问题:石子合并. n堆石子.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的 ...

  8. POJ 1160 四边形不等式优化DP Post Office

    d(i, j)表示用i个邮局覆盖前j个村庄所需的最小花费 则有状态转移方程:d(i, j) = min{ d(i-1, k) + w(k+1, j) } 其中w(i, j)的值是可以预处理出来的. 下 ...

  9. BZOJ 1010 玩具装箱toy(四边形不等式优化DP)(HNOI 2008)

    Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...

  10. 邮局加强版:四边形不等式优化DP

    题目描述 一些村庄建在一条笔直的高速公路边上,我们用一条坐标轴来描述这条公路,每个村庄的坐标都是整数,没有两个村庄的坐标相同.两个村庄的距离定义为坐标之差的绝对值.我们需要在某些村庄建立邮局.使每个村 ...

随机推荐

  1. 一个NIH综合症患者的自白

    一个NIH综合症患者的自白 欢迎关注我的博客,️点他即可. NIH: Not Invented Here 当人们看到一款产品或者任何涉及创意的东西时,常常会有一个想法--这是抄的.也就是说它并非原创, ...

  2. 【算法】插入排序(Insertion Sort)(三)

    插入排序(Insertion Sort) 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相 ...

  3. Java测试报告

    测试题目:ATM机 程序说明:本程序中共包含了两个类,分别为Account类和AccountManager类 Account类代码: public class Account { private St ...

  4. 【单片机】CH32V103v8t6 - PA5-外部中断测试程序

    main.c文件内容 /* *@Note 外部中断线例程: EXTI_Line5(PA5) PA5设置上拉输入,下降沿触发中断. */ #include "debug.h" /** ...

  5. 绿色城市智慧运营:Web 3D 垃圾分类 GIS 系统

    前言 感谢所有为上海疫情奉献的人,祈求上海疫情早日清零,中国加油,上海加油! <上海市生活垃圾管理条例>施行至今已有两年多,上海市民践行绿色低碳理念.主动参与生活垃圾分类的习惯基本养成,分 ...

  6. JNPF移动办公解决方案

    市场背景 随着办公自动化系统的普及,电子化.数据化的办公方式已进入越来越多的企业和政府单位,信息化的办公系统在企事业内部编织起一套高效.畅通的信息互联体系,极大推动了企事业单位生产力的发展.但与此同时 ...

  7. Docker安装Jenkins打包Maven项目为Docker镜像并运行【保姆级图文教学】

    一.前言 Jenkins作为CI.CD的先驱者,虽然现在的风头没有Gitlab强了,但是还是老当益壮,很多中小公司还是使用比较广泛的.最近小编经历了一次Jenkins发包,感觉还不错,所以自己学习了一 ...

  8. Hyperledger Fabric 智能合约开发及 fabric-sdk-go/fabric-gateway 使用示例

    前言 在上个实验 Hyperledger Fabric 多组织多排序节点部署在多个主机上 中,我们已经实现了多组织多排序节点部署在多个主机上,但到目前为止,我们所有的实验都只是研究了联盟链的网络配置方 ...

  9. 网络协议之:memcached binary protocol详解

    目录 简介 memcached的协议包 memcached命令举例 总结 简介 前面讲到了memcached的文本协议,虽然文本协议看起来非常简单,但是对于客户端来说一般还是会选择效率更高的二进制协议 ...

  10. ”只用 1 分钟“ - 超简极速 Apk 签名 & 多渠道打包神器

    众所周知,渠道包作为当下国内 Android 应用市场常见的分发方式,当 APP 和后台交互或进行数据上报时,会带上各自的 channel 渠道信息,以此方便企业 & 开发者统计 APP 在各 ...