HDU6024-Building Shops-简单DP
来源:互联网 发布:c语言贪心算法例题 编辑:程序博客网 时间:2024/06/10 18:46
//传送门: http://acm.hdu.edu.cn/showproblem.php?pid=6024#include <iostream>#include <string.h>#include <stdio.h>#include <algorithm>#include <math.h>#include <vector>using namespace std;#define LL long long#define N 3005#define M 2005LL INF=0x6f6f6f6f;const double eps = 1e-10;const int mod = 1e9 + 7;/*题意:按教室位置从左到右建糖果屋,如果建糖果屋花销为建设费用,如果不建则花销为 当前教室位置与左侧第一个糖果屋位置之差,此外,第一个教室必须建为糖果屋。dp[j][i] 表示 到第i个 前一个 建了糖果屋的是 jif(j==i) dp[j][i] = min(dp[j][i],dp[j][i-1])+no[i].b;else dp[j][i] = min(dp[j][i],dp[j][i-1]) + no[i].a - no[j].b;*/LL dp[N][N];struct node{ int a,b; bool friend operator<(node x,node y){ return x.a < y.a; }}no[N];int main(){ int n; INF *= INF; while(~scanf("%d",&n)){ for(int i=1;i<=n;i++){ scanf("%d%d",&no[i].a,&no[i].b); } memset(dp,INF,sizeof(dp)); sort(no+1,no+n+1); dp[1][1] = no[1].b; dp[2][2] = dp[1][1] + no[2].b; dp[1][2] = dp[1][1] + no[2].a - no[1].a; for(int i=3;i<=n;i++){ dp[i][i] = min(dp[i][i],dp[i-1][i-1] + no[i].b); dp[i-1][i] = min(dp[i-1][i],dp[i-1][i-1] + no[i].a - no[i-1].a); for(int j=1;j<=i-2;j++){ dp[i][i] = min(dp[i][i],dp[j][i-1]+no[i].b); dp[j][i] = min(dp[j][i],dp[j][i-1]+no[i].a-no[j].a); } } LL ans = dp[n][n]; for(int i=1;i<=n-1;i++) ans = min(ans,dp[i][n]); printf("%lld\n",ans); }}
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)
- 409. Longest Palindrome
- intellij IDEA创建nodejs项目---环境搭建
- hdu2076
- Solr 4.10.3搭建
- mysql存储引擎
- HDU6024-Building Shops-简单DP
- 顺序表查找课后作业
- (一)SWOT分析
- 第十一周:[Leetcode]474. Ones and Zeroes
- The Art of Electronic翻译
- spring框架学习(一):设值注入和构造注入
- 符号三角形问题
- 不存数据库生成验证码(totp算法)
- 经典的判断伪素数