0x58B 四边形不等式
还有优化二维区间DP的,形如f[i][j]min{f[i][k]+f[k][j+1]+val(i,j)}
其中val满足四边形不等式,而且对于任意a<=b<=c<=d满足val(a,d)>=val(b,c)
那么f也满足四边形不等式
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std; int s[];
int f[][],p[][];
int main()
{
int n,x;
scanf("%d",&n);
s[]=;
for(int i=;i<=n;i++)
scanf("%d",&x), s[i]=s[i-]+x, p[i][i]=i; for(int i=;i<=n;i++)
for(int l=;l+i-<=n;l++)
{
int r=l+i-;f[l][r]=(<<);
for(int k=p[l][r-];k<=p[l+][r];k++)
{
int d=f[l][k]+f[k+][r]+s[r]-s[l-];
if(d<f[l][r])
{
f[l][r]=d;
p[l][r]=k;
}
}
}
printf("%d\n",f[][n]);
return ;
}
石子合并
0x58B 四边形不等式的更多相关文章
- [学习笔记]四边形不等式优化DP
形如$f[i][j]=min{f[i][k]+f[k+1][j]}+w[i][j]$的方程中, $w[\;][\;]$如果同时满足: ①四边形不等式:$w[a][c]+w[b][d]\;\leq\;w ...
- hdu 3506 Monkey Party 区间dp + 四边形不等式优化
http://acm.hdu.edu.cn/showproblem.php?pid=3506 四边行不等式:http://baike.baidu.com/link?url=lHOFq_58V-Qpz_ ...
- BZOJ 1010 玩具装箱toy(四边形不等式优化DP)(HNOI 2008)
Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京.他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中.P教授有编号为1... ...
- 石子合并(四边形不等式优化dp) POJ1160
该来的总是要来的———————— 经典问题,石子合并. 对于 f[i][j]= min{f[i][k]+f[k+1][j]+w[i][j]} From 黑书 凸四边形不等式:w[a][c]+w[b][ ...
- UVa 10003 (可用四边形不等式优化) Cutting Sticks
题意: 有一个长为L的木棍,木棍中间有n个切点.每次切割的费用为当前木棍的长度.求切割木棍的最小费用. 分析: d(i, j)表示切割第i个切点到第j个切点这段所需的最小费用.则有d(i, j) = ...
- 【无聊放个模板系列】HDU 3506 (四边形不等式优化DP-经典石子合并问题[环形])
#include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #inc ...
- HDU 3516 Tree Construction (四边形不等式)
题意:给定一些点(xi,yi)(xj,yj)满足:i<j,xi<xj,yi>yj.用下面的连起来,使得所有边的长度最小? 思路:考虑用区间表示,f[i][j]表示将i到j的点连起来的 ...
- HDU 2829 Lawrence(动态规划-四边形不等式)
Lawrence Problem Description T. E. Lawrence was a controversial figure during World War I. He was a ...
- 区间DP的四边形不等式优化
今天上课讲DP,所以我学习了四边形不等式优化(逃 首先我先写出满足四边形不等式优化的方程:
随机推荐
- 5.20 mybatis反向生成的映射文件xml(如果需要自己定义其他sql语句时如下)
解决mybatis-generator 生成的mapper.xml覆盖自定义sql的问题 mybatis-generator是个好工具,一建即可生成基本增删改成功能的mapper.xml.但这些是不够 ...
- SQLServer2008 去除换行符
declare @str varchar(8000)set @str='SQL语句' select replace(@str,char(10),'')
- CSS多列布局(实例)
前言 一列布局 二列布局 三列布局 1 一列布局 一列布局: HTML部分 <!DOCTYPE html> <html> <head> <meta chars ...
- 【技术累积】【点】【sql】【15】MySQL的TEXT和SELECT问题
说明 只是TEXT和SELECT两个东西相关的问题,并不是两者之间的关系. TEXT TEXT类型,大文本类型,细分起来还有BIGTEXT,TINYTEXT等: 总体而言,就是处理mysql中存储大文 ...
- HDU_1517_博弈(巧妙规律)
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- 进行https通信时服务器端下发的是一个证书链
进行https通信时服务器端下发的是一个证书链,否则无法验证证书的有效性.
- logging模块-logging.basicConfig、logger.setLevel、handler.setLevel优先级
logging.basicConfig < handler.setLevel < logger.setLevel 1.脚本中没有配置logger.setLevel会使用handler.se ...
- Java中StringTokenizer类的使用
StringTokenizer是一个用来分隔String的应用类,相当于VB的split函数. 1.构造函数 public StringTokenizer(String str) public Str ...
- golang入门-defer
package main import "fmt" func main() { i := 5 tmap := make(map[string]int, 5) tmap[" ...
- appium滑动
在app应用日常使用过程中,会经常用到在屏幕滑动操作.如刷朋友圈上下滑操作.浏览图片左右滑动操作等.在自动化脚本该如何实现这些操作呢? 在Appium中模拟用户滑动操作需要使用swipe方法,该方法定 ...