【题解】:

【代码】:

 1 #include <iostream>
 2 #include <string.h>
 3 #include <stdio.h>
 4 #include <algorithm>
 5 #include <stdlib.h>
 6 #define LL long long
 7 using namespace std;
 8 LL dp[15][100005];
 9 LL N,h,uh,sal,num[15];
10 LL max(LL a,LL b){
11     if (a>b) return a;else return b;
12 }
13 LL min(LL a,LL b){
14     if (a<b) return a;else return b;
15 }
16 int main(){
17     while(cin>>N && N>0){
18         cin>>h>>sal>>uh;
19         int MaxN=-1;
20         for(int i=1;i<=N;i++) {
21             cin>>num[i];
22             MaxN=max(MaxN,num[i]);
23         }
24         for(int i=0;i<=N;i++){
25             for(int j=0;j<=MaxN;j++) dp[i][j]=99999999;
26         }
27         for(int i=num[1];i<=MaxN;i++) dp[1][i]=i*(h+sal);
28         for(int i=2;i<=N;i++){
29             for(int j=num[i];j<=MaxN;j++){
30                 for(int k=0;k<=MaxN;k++){
31                     if (k<num[i-1]) continue;
32                     if (k==j) dp[i][j]=min(dp[i][j],dp[i-1][k]+sal*j);
33                     if (k<j) dp[i][j]=min(dp[i][j],dp[i-1][k]+sal*j+h*(j-k));
34                     if (k>j) dp[i][j]=min(dp[i][j],dp[i-1][k]+sal*j+uh*(k-j));
35                 }
36 //                cout<<"i="<<i<<","<<"j="<<j<<":" ;
37 //                cout<<dp[i][j]<<endl;
38             }
39         }
40         int ans=99999999;
41         for(int i=num[N];i<=MaxN;i++) ans=min(ans,dp[N][i]);
42         cout<<ans<<endl;
43     }
44     return 0;
45 }

View Code

//错误是注意检查初值、边界

转载于:https://www.cnblogs.com/little-w/p/3775982.html

zoj 1454 Employment Planning相关推荐

  1. HDU Employment Planning

    Employment Planning Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) ...

  2. HDU 1158 Employment Planning【DP】

    题意:给出n个月,雇佣一个人所需的钱hire,一个人工作一个月所需要的钱salary,解雇一个人所需要的钱fire,再给出这n个月每月1至少有num[i]个人完成工作,问完成整个工作所花费的最少的钱是 ...

  3. hdu1158 Employment Planning【贪心dp】

    题意: 第一行项目数: 第二行每个工人的Hire Salary Fire money 第三行每个项目需要的人的数量: 工人在hire/fire的时候要付出额外的钱,如果已经hire了还没有fire就一 ...

  4. HDU OJ 动态规划46题解析

    Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955  背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢 ...

  5. HDU中一些DP的题目分类

    DP是难点,供自已以后系统学习. 1.Robberies 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=2955      背包;第一次做的时候把概率当做 ...

  6. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  7. android应用apn.xml,android之APN

    APN全称是Access Point Name,中文即接入点,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络. android系统把所有的APN都保存在数据库中,数据库绝对 ...

  8. SEON - 1 怒怼Dp(1)

    关于标题 (S)Serious(E)Exercise(O)Of(N)Noip 怒怼Dp系列 T1 题目背景: HDU 1158 Employment Planning 解题报告: -一个比较简单且暴力 ...

  9. hdu 动态规划题集

    原文链接:http://blog.sina.com.cn/s/blog_6cf509db0100sptt.html点击打开链接 1.Robberies 连接 :http://acm.hdu.edu.c ...

最新文章

  1. java 视频切片_关于视频播放、视频切片、跨域访问视频
  2. 串口通信模块1:串口基础知识
  3. Python3学习笔记(一)简介 、 安装 、 解释器
  4. Modularity(模块化-CommonJS规范)
  5. 不同网段的PC与交换机的原理
  6. 大数据平台基本功能有哪些
  7. [zz]世界第一只计算机bug和Debug
  8. 带通滤波器的matlab程序设计
  9. MQTT采集协议转换器转103 104 cdt 61850动环工业网关可定制试用
  10. Vue源码解析系列——响应式原理篇:理解Dep类和Watcher类
  11. [Jpa 运行报错] Error executing DDL “alter table project_user_f.
  12. 反射——Reflection
  13. 迷宫(二) 计蒜客--1596
  14. 中国的因特网低谷 ---- 2000:从希望云端到幻灭低谷
  15. 【WINDOWS / DOS 批处理】if命令实现逻辑运算符
  16. 营销落地页及客服咨询转化技巧 —百度竞价
  17. net start mysql发生系统错误2 解决方法
  18. maven私服、将项目发布到maven私服、从私服下载jar到本地仓库、将第三方jar安装到本地仓库和maven私服
  19. insserv: Starting xx depends on plymouth and therefore on system facility `$all'
  20. min-height和min-width的使用场景

热门文章

  1. 大数据分析机器学习(二)之直方图和多元线性回归
  2. vb.net word 自定义工具栏_word重点标记新玩法:应用绘图工具手写笔进行划线涂抹...
  3. 80-10-010-原理-Java NIO-简介
  4. 【FLink】Flink 1.12 TaskManager 内存结构
  5. 【Elasticsearch】Elasticsearch能检索出来,但不能正确高亮怎么办 高亮部分数据 高亮指定字符串 Ngram
  6. alibaba fastJson框架快速解析复杂有重复性质的json
  7. Flink : Could not resolve substitution to a value: ${akka.stream.materializer}
  8. Spring:Spring-过滤器Filter原理
  9. spark学习-20-Spark的sample理解
  10. RabbitMQ和Kafka的显著差异(5)