Description

某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初的库存量为零,第n月月底的库存量也为零,问如何安排这n个月订购计划,才能使成本最低?每月月初订购,订购后产品立即到货,进库并供应市场,于当月被售掉则不必付存贮费。假设仓库容量为S。

Input

第1行:n, m, S (0<=n<=50, 0<=m<=10, 0<=S<=10000)
第2行:U1 , U2 , ... , Ui , ... , Un (0<=Ui<=10000)
第3行:d1 , d2 , ..., di , ... , dn (0<=di<=100)

Output

只有1行,一个整数,代表最低成本

Sample Input

3 1 1000
2 4 8
1 2 4

Sample Output

34
/*
状态很好定义:f[i][j]表示到第i个月底,存货为j的最小花费。
转移方程:f[i][j]=min{f[i-1][k]+k*m+(u[i]+j-k)*w[i]}(k≤u[i]+j)
=min{f[i-1][k]+k*(m-w[i])}+(u[i]+j)*w[i](k≤u[i]+j)
因为在枚举j时,k的取值范围也是不断增大的,所以可以用以前的来更新现在的。
*/
#include<cstdio>
#include<iostream>
#include<cstring>
#define N 60
#define M 10010
using namespace std;
int n,m,S,u[N],d[N],f[N][M];
int main(){
scanf("%d%d%d",&n,&m,&S);
for(int i=;i<=n;i++)scanf("%d",&u[i]);
for(int i=;i<=n;i++)scanf("%d",&d[i]);
for(int i=;i<=S;i++)f[][i]=1e9;
for(int i=;i<=n;i++){
int res=1e9,k=;
for(int j=;j<=S;j++){
while(k<=min(u[i]+j,S)){
res=min(res,f[i-][k]+k*(m-d[i]));
k++;
}
f[i][j]=res+(u[i]+j)*d[i];
}
}
printf("%d",f[n][]);
return ;
}

订货(bzoj 2424)的更多相关文章

  1. BZOJ 2424: [HAOI2010]订货

    2424: [HAOI2010]订货 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 915  Solved: 639[Submit][Status][ ...

  2. BZOJ 2424: [HAOI2010]订货 费用流

    2424: [HAOI2010]订货 Description 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月 ...

  3. BZOJ 2424: [HAOI2010]订货(最小费用最大流)

    最小费用最大流..乱搞即可 ------------------------------------------------------------------------------ #includ ...

  4. BZOJ 2424 订货 最小费用流

    题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=2424 题目大意: 某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的 ...

  5. BZOJ 2424 订货(贪心+单调队列)

    怎么题解都是用费用流做的啊...用单调队列多优美啊. 题意:某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初 ...

  6. BZOJ 2424: [HAOI2010]订货(费用流)

    裸的费用流了= =从源点向每个点连费用为di,从汇点向每个点连流量为ui,每个点向下一个点连费用为m,流量为s的边就行了 CODE: #include<cstdio>#include< ...

  7. bzoj 2424: [HAOI2010]订货 (费用流)

    直接费用流,天数就是点数 type arr=record toward,next,cap,cost:longint; end; const maxm=; maxn=; mm=<<; var ...

  8. BZOJ 2424 DP OR 费用流

    思路: 1.DP f[i][j]表示第i个月的月底 还剩j的容量 转移还是相对比较好想的-- f[i][j+1]=min(f[i][j+1],f[i][j]+d[i]); if(j>=u[i+1 ...

  9. 【BZOJ】【2424】【HAOI2010】订货

    网络流/费用流 比较简单的题……我一开始想成像软件开发那题一样的做法了……就是每天拆点,S->i (INF,0) .i+n->T (u[i],0) 然后处理购入 S->i+n (IN ...

随机推荐

  1. 自己写的服务出现"服务没有及时响应启动或控制请求 1053" 错误

    自己写了一个服务,安装到电脑上后 启动时发现报"服务没有及时响应启动或控制请求 1053" 这个错误 在网上找了一些方法,都没有解决 后来,看了下,原来有个写文件的方法读取文件没有 ...

  2. Java时间类型转换

    String转Long Long long=new SimpleDateFormat("yyyyMMddHHmmss").parse(String).getTime(); Long ...

  3. NOIp 11.11/12

    最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...

  4. Linux系统下设置环境变量

    例如我现在有一个软件understand代码审阅软件,现在我每次想要打开这个软件就要进到~/scitools/bin/linux32目录下,去执行可执行文件understand; 但每次都这样我会觉得 ...

  5. foreach

    一 foreach的语法介绍    PHP 4以上的版本包括了 foreach 结构,这只是一种遍历数组简便方法.foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生 ...

  6. C# 数据批量插入到数据库SqlBulkCopy(源数据类型:List<T> Or DataTable)

      /*_____________________ List<T>类型数据 To Sql_______________________________*/ /// <summary& ...

  7. 10Spring高级----青软S2SH(笔记)

  8. python之numpy

    一.矩阵的拼接合并 列拼接:np.column_stack() >>> import numpy as np >>> a = np.arange(9).reshap ...

  9. shc

    A tool  for encrytion of bash shell scripts . Install: wget http://www.datsi.fi.upm.es/~frosal/sourc ...

  10. ASP.NET vNext on CentOS 7

    第一步是在Linux上安装.Net的运行时Mono VNext要求Mono最小版本3.4.1,可怜的centos连低版本的mono都不含.我们只能通过编译来安装.目前最新的版本为3.12 源码下载:h ...