zoj3469 区间dp好题
/*
按坐标排序
以餐厅为起点向两边扩展区间
dp[i][j][0]表示送完区间[i,j]的饭后停留在左边的代价
dp[i][j][1]表示送完区间[i,j]的饭后停留在右边的代价
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
struct A{int x,v;}p[];
int cmp(A a,A b){return a.x<b.x;}
int sum[],dp[][][],n,v,x;//代价,坐标 int main(){
while(cin>>n>>v>>x){
for(int i=;i<=n;i++)
scanf("%d%d",&p[i].x,&p[i].v);
p[n+].x=x,p[n+].v=;
sort(p+,p+n+,cmp); int pos;//找餐厅
for(int i=;i<=n+;i++)
if(p[i].x==x){pos=i;break;}
memset(sum,,sizeof sum);
for(int i=;i<=n+;i++)
sum[i]=sum[i-]+p[i].v; memset(dp,0x3f,sizeof dp);
dp[pos][pos][]=dp[pos][pos][]=;
for(int i=pos;i>=;i--)
for(int j=pos;j<=n+;j++){
if(i==j)continue;
int delay=sum[i-]+sum[n+]-sum[j];
dp[i][j][]=min(dp[i+][j][]+(p[i+].x-p[i].x)*(delay+p[i].v),//从i+1走到i
dp[i+][j][]+(p[j].x-p[i].x)*(delay+p[i].v));//从j走到i
dp[i][j][]=min(dp[i][j-][]+(p[j].x-p[i].x)*(delay+p[j].v),//从i走到j
dp[i][j-][]+(p[j].x-p[j-].x)*(delay+p[j].v));//从j-1走到j
}
printf("%d\n",min(dp[][n+][],dp[][n+][])*v);
}
}
zoj3469 区间dp好题的更多相关文章
- 又一道区间DP的题 -- P3146 [USACO16OPEN]248
https://www.luogu.org/problemnew/show/P3146 一道区间dp的题,以区间长度为阶段; 但由于要处理相邻的问题,就变得有点麻烦; 最开始想了一个我知道有漏洞的方程 ...
- poj 2955 Brackets (区间dp基础题)
We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a ...
- 状态压缩---区间dp第一题
标签: ACM 题目 Gappu has a very busy weekend ahead of him. Because, next weekend is Halloween, and he is ...
- poj 2955 区间dp入门题
第一道自己做出来的区间dp题,兴奋ing,虽然说这题并不难. 从后向前考虑: 状态转移方程:dp[i][j]=dp[i+1][j](i<=j<len); dp[i][j]=Max(dp[i ...
- 二叉树问题(区间DP好题)
二叉树问题 时间限制: 1 Sec 内存限制: 128 MB 题目描述 Petya Bulochkin很幸运:他得到了一份在"Macrohard"公司的工作.他想要展现他的才华, ...
- codeforces 1140D(区间dp/思维题)
D. Minimum Triangulation time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- 区间dp板子题:[noi1995]石子合并
非常经典的区间dp模板 对于每一个大于二的区间 我们显然都可以将它拆分成两个子序列 那么分别计算对于每个取最优值即可 #pragma GCC optimize("O2") #inc ...
- [nyoj737]石子归并(区间dp入门题)
题意:有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆.求出总的代价最小值 ...
- 石子合并 区间DP模板题
题目链接:https://vjudge.net/problem/51Nod-1021 题意 N堆石子摆成一条线.现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆石子合并成新的一堆,并将新的一堆石 ...
随机推荐
- printf()格式化输出详解
% - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:有-表示左对齐输出,如省略表示右对齐输出. ③0:有0表示指定空位填0,如省略 ...
- HTTP协议和SOCKS5协议
HTTP协议和SOCKS5协议 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们平时上网的时候基本上是离不开浏览器的,尤其是搜索资料的时候,那么这个浏览器是如何工作的呢?用的又是 ...
- Linux命令之cd
cd命令 用处:跳转目录 用法:输入cd加上你想跳转的目录,这里分几种情况 示例: 一.进入当前目录的子目录 我现在的目录是 /home/jim,如图 这个目录下面有好多文件夹是吧,现在我想进入到其中 ...
- Tomcat 或JBOSS java.lang.ArrayIndexOutOfBoundsException: 8192 解决方案【转】
错误信息: 2017-1-17 10:09:39 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() ...
- oracle全文检索【转】【补】
全文检索 oracle对使用几十万以上的数据进行like模糊查询速度极差,包括 like 'AAA%' ,like '%AAA',like '%AAA%',like '%A%A%'的那些模糊查询.网上 ...
- python 小程序,输错三次密码锁定账户
[root@sun ~]# cat 7.py #!/usr/bin/python # -*- coding=UTF-8 -*- usera_name = 'usera' usera_passwd = ...
- round_robin 的几种取值
ATS-6 的round_robin可以有4种算法可以选择 true Traffic Server goes through the parent cache list in a round robi ...
- springboot系列之-logging
配置文件以application.yml为例说明: Spring Boot默认的日志组件为Logback. 一. 日志配置参数: logging: file: # 日志文件,绝对路径或相对路径 pat ...
- Tomcat8.5配置https启动报空指针错误
tomcat8.5版本和tomcat8.0有了很大的区别,默认的server.xml中https的配置方式也有了变化: <Connector port="8443" prot ...
- u-boot移植(十三)---代码修改---裁剪及环境变量 二
一.错误处理 上一节遇到一个错误: print一下: 发现我们在jz2440.h中静态写的网络参数都没有写进去. dm9000 address not set. dm9000的地址未设置. 这里对应两 ...