【HDU6024】Building Shops(简单dp)
来源:互联网 发布:小灰狼打印软件注册码 编辑:程序博客网 时间:2024/05/19 20:41
记录一个菜逼的成长。。
题目链接
题目大意:
n个教室,选一些教室建造糖果商店。
每个教室,有一个坐标
对于每一个教室,如果这个教室建造糖果商店,花费就是
求最小花费
这题一开始想的贪心,但是是错的。
比如
3
1 1
10 10
11 99
考虑dp
对于
对于
枚举上一个建造糖果商店的教室
(sum是第j+1个教室到第i个教室与第j个教室的距离之和)
#include <bits/stdc++.h>using namespace std;#define fi first#define se second#define cl(a,b) memset(a,b,sizeof(a))typedef long long LL;typedef pair<LL,LL> PLL;const int maxn = 3000 + 10;PLL a[maxn];LL dp[maxn][2];int main(){ int n; while(~scanf("%d",&n)){ cl(dp,0x3f3f3f3f); for( int i = 1; i <= n; i++ ){ scanf("%lld%lld",&a[i].fi,&a[i].se); } sort(a+1,a+1+n); dp[1][1] = a[1].se; for( int i = 2; i <= n; i++ ){ dp[i][1] = min(dp[i-1][1],dp[i-1][0]) + a[i].se; LL tmp = 0; for( int j = i-1; j > 0; j-- ){ tmp += (i-j) * (a[j+1].fi - a[j].fi); dp[i][0] = min(dp[j][1]+tmp,dp[i][0]); } } printf("%lld\n",min(dp[n][1],dp[n][0])); } return 0;}
0 0
- HDU6024-Building Shops-简单DP
- 【HDU6024】Building Shops(简单dp)
- HDU6024 Building Shops(DP)
- HDU6024-Building Shops
- HDU6024 Building Shops
- HDU6024 Building Shops 2017中国大学生程序设计竞赛
- HDU 6024 Building Shops (简单dp)
- hdu6024 简单dp
- HDU6024+简单dp
- HDU 6024 Building Shops[dp]
- hdu 6024 Building Shops (dp)
- HDU 6024 Building Shops【DP】
- HDU 6024 Building Shops(DP)
- HDU 6024 Building Shops(DP)
- hdu 6024 Building Shops dp
- 2017女生赛 1002 Building Shops【dp】
- hdu 6024 Building Shops (DP)
- HDU 6024 Building Shops (DP)
- 在linux上部署dubbo服务jar包
- ECS ubuntu 16.04初始机安装Oracle java8
- C++实验6
- 素数测试
- 条款6:若不想使用编译器自动生成函数,就该明确拒绝
- 【HDU6024】Building Shops(简单dp)
- Linux之tcpdump使用
- awk命令个人总结(以CentOS 6.3环境下shell为例)
- 安卓代码优化(事件篇)
- Maven手动添加本地仓库
- 【转载】----Java进阶资源汇总
- 希尔排序算法
- 202. Happy Number (tortoise and the hare algorithm)
- Android Xml高级用法