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. sklearn机器学习实战-KNN

    KNN分类 KNN是惰性学习模型,也被称为基于实例的学习模型 简单线性回归是勤奋学习模型,训练阶段耗费计算资源,但是预测阶段代价不高 首先工作是把label的内容进行二值化(如果多分类任务,则考虑On ...

  2. numpy学习Ⅱ

    今天有空再把numpy看一下,补充点不会的,再去看matplotlib 回顾之前笔记,发现之前的numpy学习Ⅰ中关于numpy的行.列.维可能表述有点不清晰,这里再叙述一下 import numpy ...

  3. SpringCloud微服务实战——搭建企业级开发框架(四十):使用Spring Security OAuth2实现单点登录(SSO)系统

    一.单点登录SSO介绍   目前每家企业或者平台都存在不止一套系统,由于历史原因每套系统采购于不同厂商,所以系统间都是相互独立的,都有自己的用户鉴权认证体系,当用户进行登录系统时,不得不记住每套系统的 ...

  4. CAD图与互联网地图网页端相互叠加显示技术分析和实现

    需求分析 之前相关的博文中介绍了如果在Web网页端展示CAD图形(唯杰地图云端图纸管理平台 https://vjmap.com/app/cloud),当一些CAD图纸有实际地理坐标位置时,如地形图等, ...

  5. 【多线程】线程休眠 Thread.sleep()

    线程休眠 Thread.sleep() sleep (时间) 指定当前线程阻塞的毫秒数: sleep存在异常InterruptedException: sleep时间达到后线程进入就绪状态: slee ...

  6. 在Windows2003 server 64位系统上使用ArcEngine开发的WCF服务

    之前大篇文章提到,ESRI说AE10.0以后已经不支持WebService的发布,经过一段时间的测试,发现目前10.2.2版本开始的WCF服务都可以正常发布,且运行正常. 先说一下之前遇到的问题,本机 ...

  7. 《Unix 网络编程》11:名字和地址转换

    名字和地址转换 系列文章导航:<Unix 网络编程>笔记 域名系统 简介 域名系统主要用于主机名字和 IP 地址之间的映射.主机名可以是: 简单名字,如:centos01 全限定域名(FQ ...

  8. Python Flask项目步骤

    构建flask项目步骤 步骤一:构建基础项目框架 创建manage.py文件 from flask import Flask app = Flask(__name__) ""&qu ...

  9. Python 多道技术以及进程、线程和协程

    多道技术 并发:看起来像同时运行 并行:真正意义上的同时运行,并行肯定是并发 空间的复用与时间复用 空间复用 多个程序用一套计算机硬件 时间复用 程序切换节省时间 ''' 切换(cup)分为两种情况 ...

  10. Google搜索为什么不能无限分页?

    这是一个很有意思却很少有人注意的问题. 当我用Google搜索MySQL这个关键词的时候,Google只提供了13页的搜索结果,我通过修改url的分页参数试图搜索第14页数据,结果出现了以下的错误提示 ...