ZOJ 3469 Food Delivery
题目大意:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL;
const LL INF = 1e9+;
const LL maxn = 1e3+;
const LL MOD = 1e9+;
int dp[][maxn][maxn], sum[maxn];
struct node
{
int X, B;
bool friend operator < (node A, node B)
{
return A.X < B.X;
}
} P[maxn]; int main()
{
int n, v, x;
while(cin >> n >> v >> x)
{
for(int i=; i<=n; i++)
cin >> P[i].X >> P[i].B;
P[n+].X = x, P[n+].B = ;
n ++;
memset(dp, , sizeof(dp));
memset(sum, , sizeof(sum));
sort(P+, P++n); sum[] = ;
for(int i=; i<=n; i++)
sum[i] = sum[i-] + P[i].B;
int Star; for(int i=; i<=n+; i++)
for(int j=; j<=n+; j++)
dp[][i][j] = dp[][i][j] = INF; for(int i=; i<=n; i++)
{
if(P[i].X == x)
{
Star = i;
break;
}
}
dp[][Star][Star] = dp[][Star][Star] = ;
for(int i=Star; i>=; i--)
for(int j=Star; j<=n; j++)
{
dp[][i][j] = min(dp[][i][j], dp[][i+][j] + (P[i+].X - P[i].X)*(sum[n]-sum[j]+sum[i]) );
dp[][i][j] = min(dp[][i][j], dp[][i+][j] + (P[j].X - P[i].X)*(sum[n]-sum[j]+sum[i]) ) ;
dp[][i][j] = min(dp[][i][j], dp[][i][j-] + (P[j].X - P[i].X)*(sum[n]-sum[j-]+sum[i-]) );
dp[][i][j] = min(dp[][i][j], dp[][i][j-] + (P[j].X - P[j-].X)*(sum[n] - sum[j-] + sum[i-]) );
}
printf("%d\n", min(dp[][][n],dp[][][n])*v);
}
return ;
}
ZOJ 3469 Food Delivery的更多相关文章
- zoj 3469 Food Delivery 区间dp + 提前计算费用
Time Limit: 2 Seconds Memory Limit: 65536 KB When we are focusing on solving problems, we usual ...
- ZOJ - 3469 Food Delivery (区间dp)
When we are focusing on solving problems, we usually prefer to stay in front of computers rather tha ...
- ZOJ 3469 Food Delivery 区间DP
这道题我不会,看了网上的题解才会的,涨了姿势,现阶段还是感觉区间DP比较难,主要是太弱...QAQ 思路中其实有贪心的意思,n个住户加一个商店,分布在一维直线上,应该是从商店开始,先向两边距离近的送, ...
- ZOJ 3469 Food Delivery(区间DP)
https://vjudge.net/problem/ZOJ-3469 题意:在一条直线上有一个餐厅和n个订餐的人,每个人都有随时间上升的不满意值,从餐厅出发,计算出送完时最小的不满意值总和. 思路: ...
- ZOJ 3469 Food Delivery(区间DP好题)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4255 题目大意:在x轴上有n个客人,每个客人每分钟增加的愤怒值不同. ...
- ZOJ 3469 Food Delivery (区间DP,经典)
题意: 在x轴上有一家外卖餐馆,有n个顾客站在x轴上不同坐标上且叫了外卖,每个人的脾气不同,每1分钟没有收到外卖就会增加Fi点愤怒值,而外卖小哥的车是有速度的v-1/分钟,问怎样的送餐次序会让所有顾客 ...
- Food Delivery ZOJ - 3469(区间dp)
题目传送门 题目翻译:当我们专注于解决问题时,我们通常宁愿呆在电脑前而不是外出吃午饭.在这个时候,我们可能会要求提供食物. 假设有N个人生活在一条直线的街道上,它只是位于X坐标轴上.第i个人的坐标是X ...
- ZOJ 3469 区间DP Food Delivery
题解 #include <iostream> #include <cstdio> #include <cstring> #include <algorithm ...
- zoj 3469 区间dp **
题意:有一家快餐店送外卖,现在同时有n个家庭打进电话订购,送货员得以V-1的速度一家一家的运送,但是每一个家庭都有一个不开心的值,每分钟都会增加一倍,值达到一定程度,该家庭将不会再订购外卖了,现在为了 ...
随机推荐
- ssh连接超时问题解决方案
方法一: 1.设置服务器向SSH客户端连接会话发送频率和时间 #vi /etc/ssh/sshd_config,添加如下两行ClientAliveInterval 60ClientAliveCount ...
- (转)resize扩展
jquery 默认的resize只能监听到浏览器窗口大小的改变,但我们在实际使用过程中有可能还需要监听某个div或其它标签的大小改变来执行相应的处理,如果使用默认的resize就无能为力了.怎么办呢, ...
- 浅谈inline-block
一.区分block,inline,inline-block 1.block block元素会独占一行,多个block元素会各自新起一行.默认情况下,block元素宽度自动填满其父元素宽度. block ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之JUnit单元测试(四)
/**ActivitiSpringJuinitTest.java * author : 冯孟活 ^_^ * dates : 2015年9月2日 下午2:16:54 * class : activiti ...
- 多线程lock(instance)中instance的选择.
如我的提问:http://bbs.csdn.net/topics/390496351?page=1#post-394837834 拥有类原子功能的类: class ShareState { //原子功 ...
- SQLite 入门教程(二)创建、修改、删除表
一.数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table.视图 View.索引 Index.关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schem ...
- ios 动画效果CATransition笔记
初学ios开发,很多概念还不清楚,所以只有边学边做例子.又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督. 刚学ios做动画效果.因为ios封装得很好,实现i ...
- ZendStudio快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前 ...
- Uploadify 笔记分享 -- 2014年10月18日
最近要做一个项目,有个部分需要用到Uploadify,以前用过,但不是很懂,找了无数遍的中文文档,发现好多都是以前的,都不能用,一时间索性自己写了个笔记,随用随查 <form> <i ...
- jQuery-弹窗登录
在jQuery中实现弹窗常要用到的方法有: width() :元素的宽度 outerWidth() 元素的宽度 盒子的padding+border 总的宽度 scrollTop() 鼠标滚轮自上 ...