$dp$。

$dp[i]$表示到$i$位置,且$i$位置建立了的最小花费,那么$dp[i] = min(dp[k]+cost[i+1][k-1])$,$k$是上一个建的位置。最后枚举$dp[i]$,加上最后一段的花费,取个最小值即可。

#include <bits/stdc++.h>
using namespace std;
const long long mod=1e9+;
const long long inf=1e18;
int n;
struct X
{
long long pos;
long long cost;
}s[]; bool cmp(X a,X b)
{
return a.pos<b.pos;
}
long long len[],dp[]; int main()
{
while(~scanf("%d",&n))
{
for(int i=;i<=n;i++)
{
scanf("%lld%lld",&s[i].pos,&s[i].cost);
}
sort(s+,s++n,cmp);
len[]=;
for(int i=;i<=n;i++)
{
len[i]=len[i-]+s[i].pos-s[].pos;
}
for(int i=;i<=n;i++) dp[i]=inf;
dp[]=s[].cost;
for(int i=;i<=n;i++)
{ for(int j=;j<i;j++)
{
if(j==i-)
dp[i]=min(dp[i],dp[j]+s[i].cost);
else
dp[i]=min(dp[i],s[i].cost+dp[j]+len[i-]-len[j]-(i--j)*(s[j].pos-s[].pos));
}
}
long long ans=inf;
for(int i=;i<=n;i++)
{
if(i==n) ans=min(ans,dp[n]);
else ans=min(ans,dp[i]+len[n]-len[i]-(n-i)*(s[i].pos-s[].pos));
}
printf("%lld\n",ans);
}
return ;
}

HDU 6024 Building Shops的更多相关文章

  1. HDU 6024 Building Shops (简单dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024 题意:有n个room在一条直线上,需要这这些room里面建造商店,如果第i个room建造,则要总 ...

  2. HDU6024 Building Shops 2017-05-07 18:33 30人阅读 评论(0) 收藏

    Building Shops                                                             Time Limit: 2000/1000 MS ...

  3. HDU6024:Building Shops(简单DP)

    Building Shops Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  4. HDU 5033 Building(单调栈)

    HDU 5033 Building(单调栈) 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=5033 Description Once upon a ti ...

  5. HDU—— 5159 Building Blocks

    Problem Description After enjoying the movie,LeLe went home alone. LeLe decided to build blocks. LeL ...

  6. (hdu 6024) Building Shops

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6024 Problem Description HDU’s n classrooms are on a ...

  7. Building Shops

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submissi ...

  8. HDU 5033 Building

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5033 解题报告:在一条x轴上有n个建筑物,每个建筑物有一个高度h,然后现在有q次查询,查询的内容是假设 ...

  9. hdu 2818 Building Block

    Building Block Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

随机推荐

  1. libcurl在mingw下编译

    通过命令提示符进入 curl-7.27.0 文件夹输入 mingw32-make mingw32 进行生成(这里我只需要普通的功能,于是没有加附加的选项)编译完成后,在 lib 文件夹中会有我们需要的 ...

  2. Eclipse中 如何实现 多行同时编辑

    在编辑的时候按下 SHIFT + ALT +A 之后  鼠标变为 + 号   选择要同时编辑几行  即可编辑(现在eclipse好像只能是编辑一块地方  不能像vs那样 任何地方可以同时编辑  这点很 ...

  3. 816E. Karen and Supermarket 树形DP

    LINK 题意:给出n个商品,除第一个商品外,所有商品可以选择使用优惠券,但要求其前驱商品已被购买,问消费k以下能买几个不同的商品 思路:题意很明显就是树形DP.对于一个商品有三种选择,买且使用优惠券 ...

  4. text-align: justify;不能均匀分布问题

    本文地址:http://www.cnblogs.com/veinyin/p/7617610.html  对于text-align来说,一般我们都是使用居中这个属性值,突然今天需要达到这样一个效果: 对 ...

  5. 一款基于react-native的弹窗提示组件

    介绍一款基于react-native的弹窗提示插件 react-native-ms , github地址:https://github.com/jiangzhenfei/react-native-ms ...

  6. 分享6款国内、外开源PHP轻论坛CMS程序

    第一.Startbbs Startbbs,一款国产个人兴趣分享的轻论坛程序,采用PHP+MYSQL架构,目前版本是V1.1.5,之前我也 有搭建使用过功能还是比较简单的,默认风格比较让普通用户接受,这 ...

  7. 网络抓包wireshark(转)

    下载地址:https://www.wireshark.org/download/win64/   抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过 ...

  8. 阿里分布式开源框架DUBBO 入门+ 进阶+ 项目实战视频教程

    史诗级Java/JavaWeb学习资源免费分享 欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回 ...

  9. Linux 编译 apr-util 时报错

    前言 Apache 2.4 以后的版本不再自带 APR 库(Apache Portable Runtime,Apache 可移植运行库),所以在安装 Apache 之前需要手动下载安装 APR 库. ...

  10. 如何在LINUX中开机、登陆、退出、定时、定期自动运行程序

    1.开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 然后运行第一个进程init.init根据配置文件继续引导过程,启动其它进程.通常情况下,修改放置在 /etc/rc或 /et ...